我想創建一個關於它所需庫的「自包含」的jar文件。帶有組合庫的jar文件中的類路徑
因此,我創建了以下Ant文件:
<project name="srv" default="prod">
<target name="prod">
<jar destfile="build/ServerApplication.jar" basedir="bin/">
<restrict>
<name name="**/*.class"/>
<archives>
<zips>
<fileset dir="lib/" includes="**/*.jar"/>
</zips>
</archives>
</restrict>
<manifest>
<attribute name="Class-Path" value="." />
<attribute name="Main-Class" value="my.package.ServerApplication" />
</manifest>
</jar>
</target>
</project>
但是,當我嘗試推出使用
> java -jar ServerApplication.jar
我得到一個錯誤
沒有合適的驅動程序中的應用找到jdbc:mysql:// localhost/db?user = root & password =
我估計這是因爲找不到jar裏面的com.mysql.jdbc
包。爲什麼是這樣?當我將Class-Path設置爲.
時,不應該該jar能夠找到該jar中的所有類?
我打開了一個反編譯的罐子,所有的類都是他們需要的是,在這裏看到:
這是怎麼回事錯在這裏?我的清單看起來是這樣的:
Manifest-Version: 1.0
Ant-Version: Apache Ant 1.8.3
Created-By: 1.7.0_07-b10 (Oracle Corporation)
Main-Class: my.package.ServerApplication
Class-Path: .
可能重複的[Eclipse:如何建立一個可執行的jar與外部jar?](http://stackoverflow.com/questions/502960/eclipse-how-to-build-an-executable-jar-with-external -罐) – duffymo