创建没有主类的 Jar 库

今天我刚刚创建了一个Java库。我使用Main类创建了它,因为IntelliJ IDEA 14要求我添加一个。但是,我希望它是一个普通的库,没有任何Main类。是否可以从这样的项目创建一个jar文件,而无需使用main方法的单个类?如果是这样,你如何创建这样一个罐子。

如果您从未使用过主要方法,那么拥有它似乎有点愚蠢。


答案 1

使用像Maven这样的构建工具(没有IDE依赖项,但为了方便起见,可以从IDE调用)和shade插件来创建一个“uber”JAR(将所有需要的依赖项包含在项目的一个最终JAR中)...

“啪.xml”

...

  <plugin>
    <groupId>org.apache.maven.plugins</groupId>
    <artifactId>maven-shade-plugin</artifactId>
    <version>2.3</version>
    <executions>
       <!-- Run shade goal on package phase -->
      <execution>
        <phase>package</phase>
        <goals>
          <goal>shade</goal>
        </goals>
      </execution>
    </executions>
  </plugin>

着色插件的文档:

https://maven.apache.org/plugins/maven-shade-plugin/


答案 2

您可以通过几种方式做到这一点,例如从命令行,从IDE,maven或其他构建工具,我描述了2种方式:

命令行:

您可以从命令行(不带IDE)创建jar文件,这里是参考:https://docs.oracle.com/javase/tutorial/deployment/jar/build.html

jar cf jar-file input-file(s)

where 是您想要.jar文件名,并且是要放入库中的文件(可以是通配符,例如:jar-fileinput-file(s)*.class)

Intellij Idea:

创建本文中的工件,但不指定 Main 类 http://blog.jetbrains.com/idea/2010/08/quickly-create-jar-artifact/

然后单击“生成”>“生成项目”>“生成”。

即使没有 Main 类,这也有效。


推荐