java测试-打包一个java应用程序以在另一个linux机器上运行

java测试-打包一个java应用程序以在另一个linux机器上运行,java,linux,package,tar,Java,Linux,Package,Tar,我有一个Java测试应用程序。下面是导入部分的代码示例。我创建了一个快速/简短的bash脚本来构建应用程序/运行应用程序。一切正常。Java测试运行 我试图找出如何快速/轻松地“打包”Java应用程序(以及所有相关文件),以便在另一个Linux机器上运行Java测试 如能提供解决方案,将不胜感激 测试代码: import java.sql.*; import java.sql.Connection; import java.sql.DriverManager; import j

我有一个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,请转到
文件>导出>Java>可执行Jar
。然后键入名称并选择包含main方法的类。

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

如果您下载了一个JDK,jar就包括在内,在linux上可能还包括一个
人jar
,以及一个HTML文档:file:///$JAVA_HOME/docs/technotes/guides/jar/index.HTML


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

文件>导出>Java>可运行Jar>提取

将jar和jar_lib文件夹复制到另一个linux框中


运行java yourjarfile.jar-lib yourjarfile_lib/

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

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

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

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

您希望您的程序如何运行以及由谁运行?如果您的类路径有多个库(jar文件),最简单的方法是将应用程序导出为jar,然后创建一个可执行的shell脚本,使用该命令作为您的测试命令(使用-classpath定义额外的库)并将包括额外库在内的所有库打包到一个tar/zip文件中。最终用户必须提取它并运行shell脚本