java:如何将已编译的类文件的长列表包含到jar中

时间:2013-12-24 19:07:43

标签: java jar

我在java中有很多已编译的类。我想在我的项目中使用它们。如何在jar文件中添加所有这些类?或者也许有可能从编译的java类文件中获取java sourse文件?

我发现我可以使用:

生成jar
jar cf jarname input-files

据我了解input-files的instaed,我需要详细说明我编译的类的整个列表。但这会非常不舒服。我有近50个课程。

2 个答案:

答案 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的顶级目录。