Maven 2 无法在maven2的MANIFEST.MF中添加类路径
我试图用以下代码在maven2的MANIFEST.MF中添加类路径,但它无法添加Maven 2 无法在maven2的MANIFEST.MF中添加类路径,maven-2,manifest.mf,Maven 2,Manifest.mf,我试图用以下代码在maven2的MANIFEST.MF中添加类路径,但它无法添加 <build> <pluginManagement> <plugins> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-compiler-plugin</art
<build>
<pluginManagement>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<configuration>
<source>1.5</source>
<target>1.5</target>
<manifest>
<addClasspath>true</addClasspath>
<useUniqueVersions>false</useUniqueVersions>
</manifest>
</configuration>
</plugin>
</plugins>
</pluginManagement>
<finalName>iHubServiceImpl</finalName>
</build>
org.apache.maven.plugins
maven编译器插件
1.5
1.5
真的
假的
iHubServiceImpl
你能帮帮我吗
更新:在更新的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>
<parent>
<groupId>com.adp.ihub</groupId>
<artifactId>PreFinal</artifactId>
<version>1</version>
</parent>
<groupId>com.adp.ihub</groupId>
<artifactId>iHubCommon</artifactId>
<version>1</version>
<packaging>jar</packaging>
<name>iHubCommon</name>
<url>http://maven.apache.org</url>
<properties>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
</properties>
<build>
<pluginManagement>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-jar-plugin</artifactId>
<version>2.3.1</version>
<configuration>
<archive>
<manifest>
<addClasspath>true</addClasspath>
<classpathLayoutType>simple</classpathLayoutType>
</manifest>
<manifestEntries>
<mode>development</mode>
<url>${pom.url}</url>
<key>value</key>
</manifestEntries>
</archive>
</configuration>
</plugin>
</plugins>
</pluginManagement>
<plugins>
<!-- Use the jar plugin for plugin management configuration to take effect -->
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-jar-plugin</artifactId>
</plugin>
</plugins>
<sourceDirectory>${basedir}/src</sourceDirectory>
<resources>
<resource>
<directory>${basedir}/src</directory>
<excludes>
<exclude>**/*.java</exclude>
<exclude>**/pom*</exclude>
</excludes>
</resource>
</resources>
<finalName>iHubCommon</finalName>
</build>
<dependencies>
<dependency>
<groupId>com.adp.ihub</groupId>
<artifactId>BizLogic3</artifactId>
<version>1</version>
<scope>system</scope>
<systemPath>${PWD}/iHUBCM/Environment/lib/BizLogic3.jar</systemPath>
</dependency>
<dependency>
<groupId>com.adp.ihub</groupId>
<artifactId>EncryptionAPI-jdk15-0.4</artifactId>
<version>1</version>
<scope>system</scope>
<systemPath>${PWD}/iHUBCM/Environment/lib/EncryptionAPI-jdk15-0.4.jar</systemPath>
</dependency>
<dependency>
<groupId>com.adp.ihub</groupId>
<artifactId>adpbod-1.0</artifactId>
<version>1</version>
<scope>system</scope>
<systemPath>${PWD}/iHUBCM/Environment/lib/adpbod-1.0.jar</systemPath>
</dependency>
</dependencies>
</project>
4.0.0
com.adp.ihub
前末日
1.
com.adp.ihub
伊胡布康姆
1.
罐子
伊胡布康姆
http://maven.apache.org
UTF-8
org.apache.maven.plugins
maven jar插件
2.3.1
真的
简单的
发展
${pom.url}
价值
org.apache.maven.plugins
maven jar插件
${basedir}/src
${basedir}/src
**/*.爪哇
**/聚甲醛*
伊胡布康姆
com.adp.ihub
BizLogic3
1.
系统
${PWD}/iHUBCM/Environment/lib/BizLogic3.jar
com.adp.ihub
EncryptionAPI-jdk15-0.4
1.
系统
${PWD}/iHUBCM/Environment/lib/EncryptionAPI-jdk15-0.4.jar
com.adp.ihub
adpbod-1.0
1.
系统
${PWD}/iHUBCM/Environment/lib/adpbod-1.0.jar
但是我仍然没有在manifest.mf中获取条目。怎么了?没有提到名为“manifest”的配置属性,您可能需要使用maven jar插件。看看如何做
编辑:
当您使用pluginManagement配置插件时,您需要在元素中实际使用插件。
见
编辑并使用此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>com.adp.ihub</groupId>
<artifactId>PreFinal</artifactId>
<version>1</version>
<packaging>jar</packaging>
<name>PreFinal</name>
<url>http://maven.apache.org</url>
<properties>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
</properties>
<dependencies>
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<version>3.8.1</version>
<scope>test</scope>
</dependency>
<!-- !!! ADD YOUR DEPENDENCIES HERE !!! -->
</dependencies>
<build>
<pluginManagement>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-jar-plugin</artifactId>
<version>2.3.1</version>
<configuration>
<archive>
<manifest>
<addClasspath>true</addClasspath>
</manifest>
<manifestEntries>
<mode>development</mode>
<url>${pom.url}</url>
<key>value</key>
</manifestEntries>
</archive>
</configuration>
</plugin>
</plugins>
</pluginManagement>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-jar-plugin</artifactId>
</plugin>
</plugins>
</build>
</project>
4.0.0
com.adp.ihub
前末日
1.
罐子
前末日
http://maven.apache.org
UTF-8
朱尼特
朱尼特
3.8.1
测试
org.apache.maven.plugins
maven jar插件
2.3.1
真的
发展
${pom.url}
价值
org.apache.maven.plugins
maven jar插件
没有提到名为“manifest”的配置属性,您可能需要使用maven jar插件。看看如何做
编辑:
当您使用pluginManagement配置插件时,您需要在元素中实际使用插件。
见
编辑并使用此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>com.adp.ihub</groupId>
<artifactId>PreFinal</artifactId>
<version>1</version>
<packaging>jar</packaging>
<name>PreFinal</name>
<url>http://maven.apache.org</url>
<properties>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
</properties>
<dependencies>
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<version>3.8.1</version>
<scope>test</scope>
</dependency>
<!-- !!! ADD YOUR DEPENDENCIES HERE !!! -->
</dependencies>
<build>
<pluginManagement>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-jar-plugin</artifactId>
<version>2.3.1</version>
<configuration>
<archive>
<manifest>
<addClasspath>true</addClasspath>
</manifest>
<manifestEntries>
<mode>development</mode>
<url>${pom.url}</url>
<key>value</key>
</manifestEntries>
</archive>
</configuration>
</plugin>
</plugins>
</pluginManagement>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-jar-plugin</artifactId>
</plugin>
</plugins>
</build>
</project>
4.0.0
com.adp.ihub
前末日
1.
罐子
前末日
http://maven.apache.org
UTF-8
朱尼特
朱尼特
3.8.1
测试
org.apache.maven.plugins
maven jar插件
2.3.1
真的
发展
${pom.url}
价值
org.apache.maven.plugins
maven jar插件
要做到这一点,您需要通过添加(稍微调整)来告诉Maven Jar插件:
自定义清单
可以更改默认清单
使用归档配置
元素。下面你会发现一些
下面列出的配置选项
可用。有关更多信息,请参阅Maven
存档参考。此版本的
Maven JAR插件使用Maven Archiver
2.4
...
org.apache.maven.plugins
根据定义,它适用于那些应该始终可用且不在存储库中查找的依赖项。所以不要期望Maven将它们放在Manifest.mf的类路径条目中
我想人们不应该使用itsystem
scoped dependencies,但他们的用途是:
系统:此依赖关系在项目生命周期的某些阶段是必需的,但是特定于系统的不鼓励使用此范围:这被认为是一种“高级”功能,只有在您真正了解其使用的所有后果时才应使用,这可能非常困难,如果不是实际上不可能量化的话。根据定义,此作用域使构建不可移植。在某些边缘情况下,这可能是必要的。系统范围包括
元素,该元素指向本地计算机上此依赖项的物理位置。因此,它被用来指出现在给定本地机器上而不是存储库中的某些工件;其路径可能因机器而异。systemPath
元素可以引用其路径中的环境变量:${JAVA_HOME}
在本地存储库中安装JAR,或者使用公司存储库,或者使用存储库。但是不要使用系统
作用域。要这样做,您需要通过添加(稍微调整)来告诉Maven Jar插件:
自定义清单
可以更改默认清单
使用归档配置
元素。下面你会发现一些
下面列出的配置选项
可用。有关更多信息,请参阅Maven
阿尔奇
<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>com.adp.ihub</groupId>
<artifactId>PreFinal</artifactId>
<version>1</version>
<packaging>jar</packaging>
<name>PreFinal</name>
<url>http://maven.apache.org</url>
<properties>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
</properties>
<dependencies>
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<version>3.8.1</version>
<scope>test</scope>
</dependency>
<!-- !!! ADD YOUR DEPENDENCIES HERE !!! -->
</dependencies>
<build>
<pluginManagement>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-jar-plugin</artifactId>
<version>2.3.1</version>
<configuration>
<archive>
<manifest>
<addClasspath>true</addClasspath>
</manifest>
<manifestEntries>
<mode>development</mode>
<url>${pom.url}</url>
<key>value</key>
</manifestEntries>
</archive>
</configuration>
</plugin>
</plugins>
</pluginManagement>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-jar-plugin</artifactId>
</plugin>
</plugins>
</build>
</project>
<project>
...
<build>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-jar-plugin</artifactId>
<version>2.3.1</version>
<configuration>
<archive>
<index>true</index>
<manifest>
<addClasspath>true</addClasspath>
</manifest>
<manifestEntries>
<mode>development</mode>
<url>${pom.url}</url>
<key>value</key>
</manifestEntries>
</archive>
</configuration>
...
</plugin>
</plugins>
</build>
...
</project>