Lon*_*don 41 java maven-2 maven
如何创建maven pom,这将使项目可构建,我可以直接将propriatery jar包括在我的项目中,而无需从存储库中获取它们吗?有没有人这样做过?
编辑:
我不希望通过使用依赖jar构建程序集使其可运行,我希望它是可构建的.因此,任何拥有此项目的人都能够构建它,即使在任何存储库中都找不到罐子.
Jig*_*shi 47
1您可以在应用程序
2的类路径中包含该jar,您可以在maven reopos中安装特定的jar文件
mvn install:install-file -Dfile=<path-to-file> -DgroupId=<group-id> \
-DartifactId=<artifact-id> -Dversion=<version> -Dpackaging=<packaging>
Run Code Online (Sandbox Code Playgroud)
ant*_*ant 38
可能的解决方案是将你的依赖项放在你的pom中的src/main/resources中:
<dependency>
groupId ...
artifactId ...
version ...
<scope>system</scope>
<systemPath>${project.basedir}/src/main/resources/yourJar.jar</systemPath>
</dependency>
Run Code Online (Sandbox Code Playgroud)
注意:系统依赖关系不会复制到生成的jar/war中
(请参阅如何在使用maven构建的war中包含系统依赖关系)
mos*_*tar 20
在项目下创建一个存储库文件夹.让我们来
${project.basedir}/src/main/resources/repo
Run Code Online (Sandbox Code Playgroud)
然后,将自定义jar安装到此repo:
mvn install:install-file -Dfile=[FILE_PATH] \
-DgroupId=[GROUP] -DartifactId=[ARTIFACT] -Dversion=[VERS] \
-Dpackaging=jar -DlocalRepositoryPath=[REPO_DIR]
Run Code Online (Sandbox Code Playgroud)
最后,将以下repo和依赖项定义添加到项目pom.xml中:
<repositories>
<repository>
<id>project-repo</id>
<url>file://${project.basedir}/src/main/resources/repo</url>
</repository>
</repositories>
<dependencies>
<dependency>
<groupId>[GROUP]</groupId>
<artifactId>[ARTIFACT]</artifactId>
<version>[VERS]</version>
</dependency>
</dependencies>
Run Code Online (Sandbox Code Playgroud)
您可以从本地驱动程序获取它,如下所示:
<dependency>
<groupId>sample</groupId>
<artifactId>com.sample</artifactId>
<version>1.0</version>
<scope>system</scope>
<systemPath>${project.basedir}/src/main/resources/yourJar.jar</systemPath>
</dependency>
Run Code Online (Sandbox Code Playgroud)
真正快速而肮脏的方式是指向本地文件:
<dependency>
<groupId>sampleGroupId</groupId>
<artifactId>sampleArtifactId</artifactId>
<version>1.0</version>
<scope>system</scope>
<systemPath>C:\DEV\myfunnylib\yourJar.jar</systemPath>
</dependency>
Run Code Online (Sandbox Code Playgroud)
然而,这只会存在于您的机器上(显然),为了共享它通常是有意义的使用正确的m2存档(nexus/artifactory)或者如果你没有任何这些或者不想设置一个本地maven结构化存档并在您的pom中配置"存储库":local:
<repositories>
<repository>
<id>my-local-repo</id>
<url>file://C:/DEV//mymvnrepo</url>
</repository>
</repositories>
Run Code Online (Sandbox Code Playgroud)
远程:
<repositories>
<repository>
<id>my-remote-repo</id>
<url>http://192.168.0.1/whatever/mavenserver/youwant/repo</url>
</repository>
</repositories>
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
102469 次 |
| 最近记录: |