我在java中有很多已编译的类。我想在我的项目中使用它们。如何在jar文件中添加所有这些类?或者也许有可能从编译的java类文件中获取java sourse文件?
我发现我可以使用:
生成jarjar cf jarname input-files
据我了解input-files
的instaed,我需要详细说明我编译的类的整个列表。但这会非常不舒服。我有近50个课程。
答案 0 :(得分:1)
看看Maven或Ant。它很容易从它们开始,它们可以为您提供比构建jar文件更多的东西。
Maven - 简单的pom.xml:
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<groupId>myGroup</groupId>
<artifactId>myArtifact</artifactId>
<version>0.0.1-SNAPSHOT</version>
</project>
您只需运行“mvn install”命令,您的jar文件就会在目标文件夹中创建。
Ant - 查看http://ant.apache.org/manual/tutorial-HelloWorldWithAnt.html
或者只是google for Maven或Ant。
答案 1 :(得分:0)
java世界通常需要令人惊讶的长命令行。别担心。
如果类文件本身位于目录结构中,则可以只包含根目录 - 其中的所有文件都将放在jar中。
另一方面,大多数人使用一些更高级别的工具进行jarring - Ant,Gradle或Maven用于自动构建;如果只是在IDE中工作,Eclipse或Intellij支持。
我在新手时犯的一个错误就是没有正确的罐根。 jar的根目录也必须是包结构的根目录。因此,例如,如果您的类都在com.foo.mypackage
中,那么最好在jar中使用名为com
的顶级目录。