Java:在linux中将包含的Jar文件添加到已创建的Jar文件中
我需要帮助将导入的jar文件包含到Linux中的java程序中。节目如下:Java:在linux中将包含的Jar文件添加到已创建的Jar文件中,java,classpath,Java,Classpath,我需要帮助将导入的jar文件包含到Linux中的java程序中。节目如下: import java.sql.*; public class CreateCoffees { public static void main(String args[]) { try { Class.forName("com.ibm.db2.jcc.DB2Driver"); } catch(java.lang.ClassNotF
import java.sql.*;
public class CreateCoffees
{
public static void main(String args[])
{
try {
Class.forName("com.ibm.db2.jcc.DB2Driver");
}
catch(java.lang.ClassNotFoundException e) {
System.err.print("ClassNotFoundException: ");
System.err.println(e.getMessage());
System.exit(1);
}
}
}
为了执行Class.forName(“com.ibm.db2.jcc.DB2Driver”)
我需要在类路径中添加两个.jar
文件:
db2jcc_license_cu.jar
db2jcc4.jar
我将这些jar文件与我的createCoffee.java文件放在同一个目录中,然后像这样编译和运行它:
javac CreateCoffees.java
java CreateCoffees
但我犯了这个错误
ClassNotFoundException: com.ibm.db2.jcc.DB2Driver
然后我尝试了“-classpath”选项
但我明白了
Exception in thread "main" java.lang.NoClassDefFoundError: CreateCoffees
Caused by: java.lang.ClassNotFoundException: CreateCoffees
如何将这些jar文件包含到my runnable jar中,以便可以使用java-jar myjar.jar
运行它?试试这个
java -classpath ./db2jcc_license_cu.jar:./db2jcc4.jar:. CreateCoffees
当您使用
-classpath
时,它会从classpath中释放当前目录,因此它需要在classpath中明确地
,如何将项目的jar包含到可运行jar中:
我将用运行在Ubuntu12.10上的Eclipse版本:3.7.2一步一步地介绍它。我还将向您展示如何制作build.xml
,以便您可以从命令行执行ant jar
,并使用提取到其中的其他导入jar创建jar
基本上,您要求Eclipse构造build.xml,以便为您将库导入到jar中
Runner
将此代码放入其中
mysql-connector-java-5.1.28-bin.jar
,它使我们能够编写java来连接mysql数据库。通过右键单击项目->属性->java构建路径->添加外部Jar->选择mysql-connector-java-5.1.28-bin.Jar来实现这一点
文件->导出->Java
->可运行Jar文件。您将看到以下对话框:
确保设置“另存为ant脚本”复选框。这就是为什么以后可以使用命令行来执行antjar
Hello.jar
中的mysql-connector-java-5.1.28-bin.jar
查看Hello.jar内部:vi Hello.jar
您将看到许多对com/mysql/jdbc/stuff.class
在命令行上执行antjar
自动执行所有这些操作:将buildant.xml
重命名为build.xml
,并将目标名称从create\u run\u jar
更改为jar
然后,从MyProject
中键入antjar
并打开。你已经把你的罐子放在我的项目里了。您可以使用java-jar Hello.jar
调用它,一切正常
java -classpath ./db2jcc_license_cu.jar:./db2jcc4.jar:. CreateCoffees