Maven 2 在Ear构建中添加jar(与范围系统的依赖关系)

Maven 2 在Ear构建中添加jar(与范围系统的依赖关系),maven-2,Maven 2,我使用Maven,我想用打包ear进行构建,我想用范围系统和指定jar的系统路径添加一个依赖项,如下所示: <dependency> <groupId>group1</groupId> <artifactId>group1</artifactId> <version>1</version> <scope>system</scope> <systemPat

我使用Maven,我想用打包ear进行构建,我想用范围系统和指定jar的系统路径添加一个依赖项,如下所示:

<dependency> 
  <groupId>group1</groupId> 
  <artifactId>group1</artifactId> 
  <version>1</version> 
  <scope>system</scope> 
  <systemPath>D:\Buildear\Jars\file.jar</systemPath> 
</dependency> 

第一组
第一组
1.
系统
D:\Buildear\Jars\file.jar
但是我没有在我的发电机耳朵里找到罐子

请帮忙


<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/maven-v4_0_0.xsd">
<modelVersion>4.0.0</modelVersion>
<parent>
    <artifactId>aaa</artifactId>
    <groupId>aaa</groupId>
    <version>1.0</version>
</parent>

<groupId>aaa</groupId>
<artifactId>aaa</artifactId>
<version></version>

<packaging>ear</packaging>
<name>aaa - Ear</name>
<dependencies>
    <dependency>
        <groupId>javax.servlet</groupId>
        <artifactId>servlet-api</artifactId>
        <scope>provided</scope>
    </dependency>
    <dependency>
        <groupId>${project.groupId}</groupId>
        <artifactId>aaa-ejb</artifactId>
        <version>${project.version}</version>
        <type>ejb</type>
        <scope>compile</scope>
    </dependency>
    <dependency>
        <groupId>${project.groupId}</groupId>
        <artifactId>aaa-webapp</artifactId>
        <version>${project.version}</version>
        <type>war</type>
        <scope>compile</scope>
    </dependency>
    <dependency>
        <groupId>jboss</groupId>
        <artifactId>jboss-common</artifactId>
        <scope>provided</scope>
    </dependency>
    <dependency>
        <groupId>jboss</groupId>
        <artifactId>jbosssx</artifactId>
        <scope>provided</scope>
    </dependency>
    <dependency>
        <groupId>javax.transaction</groupId>
        <artifactId>jta</artifactId>
        <version>1.1</version>
        <scope>provided</scope>
    </dependency>
    <dependency>
        <groupId>log4j</groupId>
        <artifactId>log4j</artifactId>
        <scope>provided</scope>
    </dependency>
</dependencies>

<build>
    <finalName>${aaa.name}-${project.version}</finalName>
    <plugins>
        <plugin>
            <groupId>org.apache.maven.plugins</groupId>
            <artifactId>maven-ear-plugin</artifactId>
            <version>2.3.2</version>
            <configuration>
                <generateApplicationXml>false</generateApplicationXml>
                <defaultLibBundleDir>lib</defaultLibBundleDir>
                <modules>
                    <ejbModule>
                        <groupId>${project.groupId}</groupId>
                        <artifactId>aaa-ejb</artifactId>
                    </ejbModule>
                    <jarModule>
                        <groupId>xml-apis</groupId>
                        <artifactId>xml-apis</artifactId>
                        <excluded>true</excluded>
                    </jarModule>
                </modules>
            </configuration>
        </plugin>
    </plugins>
</build>
<properties>
    <aaa.name>aaa-batch</aaa.name>
</properties>
4.0.0 aaa aaa 1 aaa aaa 耳朵 aaa-耳 javax.servlet servlet api 假如 ${project.groupId} aaa ejb ${project.version} ejb 编译 ${project.groupId} aaa网络应用 ${project.version} 战争 编译 jboss jboss通用 假如 jboss jbosssx 假如 javax.transaction jta 1.1 假如 log4j log4j 假如 ${aaa.name}-${project.version} org.apache.maven.plugins maven耳朵插件 2.3.2 假的 解放党 ${project.groupId} aaa ejb xml API xml API 真的 aaa批次

这将创建一个ear并将库复制到ear中的lib文件夹中。


4.0.0
aaa
aaa
1
aaa
aaa
耳朵
aaa-耳
javax.servlet
servlet api
假如
${project.groupId}
aaa ejb
${project.version}
ejb
编译
${project.groupId}
aaa网络应用
${project.version}
战争
编译
jboss
jboss通用
假如
jboss
jbosssx
假如
javax.transaction
jta
1.1
假如
log4j
log4j
假如
${aaa.name}-${project.version}
org.apache.maven.plugins
maven耳朵插件
2.3.2
假的
解放党
${project.groupId}
aaa ejb
xml API
xml API
真的
aaa批次

这将创建一个ear并将库复制到ear中的lib文件夹中

我与Maven合作,我想用打包ear进行构建,我想用scope
system
(…)添加一个依赖项。但是我没有在我的发电机耳朵里找到罐子

是的,这正是(ab)使用
系统
作用域依赖项时得到的结果,根据定义,该依赖项总是可用的。关于这一点,我写了很多次,例如,我在下面引用:

我已经写过了, 关于这件事 在99%的案例中,
系统
范围内的依赖项应为 避免。我再重复一遍 迷你指南说 再来一次:

  • 系统
    :此依赖关系在系统的某些阶段是必需的 项目的生命周期,但是 特定于系统此范围的使用 不鼓励:这被视为 “先进”是一种功能,应该 只有当你真正理解的时候才能使用 其使用的所有后果, 如果不是的话,这可能是非常困难的 实际上无法量化。 根据定义,此范围呈现您的 构建不可移植的。可能是 在某些边缘情况下是必要的。这个 系统范围包括
    指向的元素 该项目的实际位置 依赖于本地计算机。它是 因此用于指代某些人工制品 预计在给定的时间内出席 本地计算机不在存储库中; 谁的道路可能不同 机器对机器。系统路径 元素可以引用环境 路径中的变量:
    ${JAVA_HOME}
    比如说
因此,不要使用
系统
范围,或:

  • 通过
    install:install file
    将库添加到本地存储库。 这是一种快速而肮脏的方式 如果一切顺利,这可能是一种选择 如果你独自一人,但这让你 构建不可移植的
  • 安装并运行“企业存储库”,如Nexus、Archiva或 Artifactory并通过
    部署:部署文件
    。这是 理想情景
  • 按照中的说明设置基于文件的存储库 把你的图书馆放在那里。这 是最好的折衷方案吗 没有公司存储库,但 需要团队合作,不想 牺牲便携性
请停止使用
系统
范围

我与Maven合作,我想用打包ear进行构建,我想用scope
system
(…)添加一个依赖项。但是我没有在我的发电机耳朵里找到罐子

是的,这正是(ab)使用
系统
作用域依赖项时得到的结果,根据定义,该依赖项总是可用的。关于这一点,我写了很多次,例如,我在下面引用:

我已经写过了, 关于这件事 在99%的案例中,
系统
范围内的依赖项应为 避免。我再重复一遍 迷你