rip*_*234 483 java build-process jar intellij-idea
我有一个包含单个模块和一些依赖项的项目.我想在一个单独的目录中创建一个包含已编译模块的jar.另外,我希望我的模块旁边有依赖项.
无论我如何扭曲IntelliJ的"构建jar"进程,我模块的输出都显示为空(除了META-INF文件).
sim*_*mao 563
以下是使用IntelliJ 10构建jar的方法http://blogs.jetbrains.com/idea/2010/08/quickly-create-jar-artifact/
文件 - >项目结构 - >项目设置 - >工件 - >单击绿色加号 - >罐子 - >从具有依赖关系的模块...
上面将"骨架"设置为jar将保存到的位置.要实际构建和保存它,请执行以下操作:
提取到目标Jar
好
建立| 构建神器
Zso*_*aly 217
这仍然是2017年的一个问题,我希望它会帮助那里的人!我在IntelliJ 2017.2下找到了创建工作jar的2种可能性
1.从IntelliJ创建工件:
您必须更改清单目录:
<project folder>\src\main\java
Run Code Online (Sandbox Code Playgroud)
用"资源"替换"java"
<project folder>\src\main\resources
Run Code Online (Sandbox Code Playgroud)
它应该是这样的:
然后你选择你想要在你的jar中打包的依赖项,或者你的jar文件
要构建工件,请构建工件并选择"rebuild".它将使用您的jar文件及其依赖项创建一个"out"文件夹.
2.使用maven-assembly-plugin
将构建部分添加到pom文件中
<build>
<plugins>
<plugin>
<artifactId>maven-assembly-plugin</artifactId>
<configuration>
<finalName>ServiceCreate</finalName>
<appendAssemblyId>false</appendAssemblyId>
<archive>
<manifest>
<mainClass>com.svt.optimoo.App</mainClass>
</manifest>
</archive>
<descriptorRefs>
<descriptorRef>jar-with-dependencies</descriptorRef>
</descriptorRefs>
</configuration>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<configuration>
<source>1.8</source>
<target>1.8</target>
</configuration>
</plugin>
</plugins>
</build>
Run Code Online (Sandbox Code Playgroud)
此过程将在"target"文件夹下创建jar文件
小智 133
我最近遇到了这个问题,如果任何先前的解决方案或链接缺少详细信息,我认为这些步骤很容易理解.
如何创建.jar使用IntelliJ IDEA 14.1.5:
rrr*_*rrr 11
这是maven项目的2个示例,逐步介绍:

在pom.xml中,添加maven-jar-plugin。
<plugin>
<!-- Build an executable JAR -->
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-jar-plugin</artifactId>
<version>3.1.0</version>
<configuration>
<archive>
<manifest>
<addClasspath>true</addClasspath>
<classpathPrefix>lib/</classpathPrefix>
<mainClass>somePackage.sample</mainClass>
</manifest>
</archive>
</configuration>
</plugin>
Run Code Online (Sandbox Code Playgroud)屏幕截图:
4.通过单击搜索图标打开maven项目框,然后键入maven,

MANIFEST.MF必须位于您的资源文件夹中,而Main.Class需要引用{package}-{class-name-that-contains-main-class}
当我使用这些解决方案时,会出现此错误:
java -jar xxxxx.jar
Run Code Online (Sandbox Code Playgroud)
没有主要清单属性,在 xxxxx.jar 中
解决方案是:
您必须更改清单目录:
<project folder>\src\main\java
Run Code Online (Sandbox Code Playgroud)
将 java 更改为资源
<project folder>\src\main\resources
Run Code Online (Sandbox Code Playgroud)
这可能有点晚了,但我设法用这种方式解决 - >用winrar打开并删除META-INF文件夹中的ECLIPSEF.RSA和ECLIPSEF.SF,而且输入"Main-class:main_class_name"(不带".class" )在MANIFEST.MF.确保在最后一行之后按两次"Enter",否则它将无效.
| 归档时间: |
|
| 查看次数: |
544728 次 |
| 最近记录: |