java测试-打包一个用于在另一个linux盒子上运行的java应用程序



我有一个Java测试应用程序。导入部分的代码示例如下。我创建了一个快速/简短的bash脚本来构建应用程序/运行应用程序。一切正常。Java测试运行。

我正试图弄清楚如何快速/轻松地"打包"Java应用程序(以及所有相关文件),以便在另一个Linux盒子上运行Java测试。

如能提供解决方案,将不胜感激。

测试代码:

  import java.sql.*; 
  import java.sql.Connection;
  import java.sql.DriverManager;
  import java.sql.PreparedStatement;
  import java.sql.ResultSet;
  import java.sql.SQLException;
  import java.sql.Statement;
  import java.util.Date;
  import org.json.simple.*; // json package, download at http://code.google.com/p/json-simple/ 
  import java.net.URLDecoder;
  import java.net.URLEncoder;
  import java.lang.String.*;
  public class ms1 {
    private Connection conn = null;
    private Statement stmt = null;
 .
 .
 .

它像涂焦油一样简单吗?这是包裹吗?我试着弄清楚这是如何在Java中的小项目中工作的。

更新::

测试全部来自cmdline。没有使用IDE/Eclipse。

我使用run/cmdline:运行测试

javac -classpath '/usr/share/java/json_simple-1.1.jar:/opt/selenium/selenium-server-standalone.jar:/apps/parseapp2/' ms1.java 'foo'

如果您正在使用Eclipse,请转到File > Export > Java > Executable Jar。然后键入名称并选择包含主方法的类。

Java项目的类似tar的包格式是jar(惊喜!):)

如果您下载了JDK,那么在linux上会包含jar,可能还有一个man jar,还有一个HTML文档:file://$JAVA_HOME/docs/techotes/guides/jar/index.HTML。

您的用户需要JVM运行时、反映包结构的层次结构中的类以及外部jar(在您的情况下是JSON包)。您通常提供自己的类,但也可能提供(如果许可证允许的话)外部jar。

File>Export>Java>Runnable Jar>Extract。

将jar和jar_lib文件夹复制到另一个linux盒子

运行java yourjarfile.jar-lib yourjarffile_lib/

如果这些任务是迭代的,我可能会创建一个ant构建文件,其中包含一些目标,如compile、jar和scp。在eclipse中创建ant构建文件应该很容易。您可以查看手册中的ant任务以及在eclipse中创建ant构建文件的步骤。一旦创建了它,就可以像控制台中的ant compile scp(示例)一样轻松地运行。

首先,您需要学习如何在MANIFEST.MF文件中使用类路径来启用"java-jar parseapp.jar"(而不必指定完整路径)。将依赖jar放在主jar旁边的"lib"文件夹中,这样您就可以在类路径中拥有相对路径。

当这起作用时,你基本上有三个选择:

  • 创建一个包含jar和支持jar的zip文件。然后,收件人必须打开zip,并调用主jar(例如,通过单击)
  • 使用一个jar将所有内容封装在一个jar文件中,然后可以分发该文件,然后用户调用(例如单击)。这里面有魔力,可能是也可能不是一个亮点
  • 使用Java WebStart将您的应用程序放在web服务器上,这样用户只需单击一个链接即可启动程序。这主要用于GUI程序,但功能强大,维护简单

最新更新