我有一个使用Maven2构建的桌面Java应用程序(但如果有帮助,我可以升级到Maven3)和许多开源依赖项。我现在正试图将它打包为独立的,以便最终用户可以使用它,而无需他们安装maven或其他任何东西。我已经成功地使用maven-assembly-plugin构建了一个包含所有依赖项的jar,但这并不是我真正想要的,因为在使用LGPL库时,您应该将正在使用的库重新分发为单独的jar。我希望Maven构建一个zip,其中包含一个包含我的代码的jar和一个MANIFEST.MF,它引用我需要的其他jar以及其他jar。这似乎是标准做法,但我不知道该怎么做。这是我的pom的摘录org.ap
我有一个项目X,它在依赖层次结构中显示了很多相互冲突的依赖关系(如Eclipse的依赖层次结构View中所示)。我看到很多这样的事情:clojure:1.3.0(omittedforconflictwith1.4.0)[compile]这通常是因为X使用的两个库指定了其他库的两个不同版本-即由于共享传递依赖性而发生冲突。在很多情况下,冲突发生在我无法直接控制的第3方库中。幸运的是,现在一切都构建并运行良好,但我担心这种情况是否会在未来造成问题。这是我应该担心的问题吗?如果是,我应该怎么做? 最佳答案 是的,这样的冲突可能很严重。当比
我的项目结构在src/main/文件夹中有资源文件夹。资源文件夹包含文件server.properties。我的pom如下:4.0.0com.fdeListener1.0-SNAPSHOTjarListenerhttp://maven.apache.orgUTF-83.6.10.Final1.6junitjunit3.8.1testcommons-langcommons-lang2.0org.hibernatehibernate-ehcache${hibernate.version}org.hibernatehibernate-core${hibernate.version}javas
这个问题在这里已经有了答案:Mavenprojectversioninheritance-doIhavetospecifytheparentversion?(11个答案)关闭4年前。我有一个多模块(聚合器)Maven项目,它也继承了父pom的属性。所以在我的父pom.xml中我有这个:com.something.projectMyProjectpom1.0.123ModuleAModuleBModuleC我想让所有的子模块继承父版本号1.0.123,但是子模块pom.xml需要我继续硬编码版本父级的编号(ModuleApom.xml示例):ModuleASomeAmazingThing
我正在尝试让Maven管理的项目在命令行上运行。我在pom.xml中有一组依赖项,随后下载并安装在~/.m2/repository/中。我在我的pom中包含了必要的配置,以将类路径添加到jarlist。现在的问题是我正在尝试这样运行jar:java-jarproject-SNAPSHOT.jar。Java找不到下载的依赖项(我假设是因为它们在list中没有列出路径?),但我不确定如何最好地运行它。 最佳答案 选项1:创建的jar没有依赖的jar文件。因此,您需要告诉java所有依赖的jar所在的类路径java-cp/lcoation
我想使用GoogleReflections从我的Maven插件编译的项目中扫描类。但是默认情况下插件看不到项目的编译类。来自Maven3documentation我阅读:Pluginsthatneedtoloadclassesfromthecompile/runtime/testclasspathofaprojectneedtocreateacustomURLClassLoaderincombinationwiththemojoannotation@requiresDependencyResolution.至少可以说这有点含糊。基本上我需要一个类加载器的引用来加载已编译的项目类。我如何
我想使用maven导出一个jar文件,其中可以包含源代码。我尝试使用“maven-source-plugin”,但它会创建一个带有源代码的单独jar文件。有什么方法可以像使用源代码的普通eclipse导出一样使用maven导出jar文件? 最佳答案 你可以用资源部分来做,看例子:src/main/java**/*.java**/*.gwt.xmlmaven-compiler-plugin2.3.21.61.6org.apache.maven.pluginsmaven-jar-plugin2.3**/*WebContent/META-
我刚开始学习spring,我想使用4.0.4.RELEASE版本——它实际上是maven存储库提供的最新版本,所以我的问题在这里:如果我像这样添加依赖项:org.springframeworkspring-context4.0.4.RELEASE-它会自动将所有“基本”模块(如上下文、核心、aop、bean、表达式)添加到我的项目中,但是例如,如果我像这样添加依赖项:org.springframeworkspring-core4.0.4.RELEASE-它只会将spring-corejar文件添加到我的项目中,谁能解释一下为什么会这样?因为我是从教程和教程中学习的,所以那个人添加了这两
我正在尝试在我的Windows机器上创建我的maven项目的.rpm文件。我按照以下链接中给出的步骤来实现它。http://tim-perry.co.uk/blog/2012/11/22/building_rpms_on_windows_with_maven当我运行命令mvnpackagerpm:attached-rpm它显示构建成功,但没有生成rpm文件。相反,它会在目标下创建一个名为“rpm”的目录,并将所有需要的文件(如pom中所述)复制到该目录下。让我知道我在这里错过了什么。下面是我使用的pom4.0.0com.orginv_project1.0-SNAPSHOTpominv_
当我在我的依赖关系树中多次列出一个依赖关系时,即使该依赖关系的所有版本都相同,Eclipse也会说(在POM的“依赖关系层次结构”选项卡中)除了一个是“(省略了与X.X.X冲突)”。组ID、ArtifactID和版本都将相同。这是一个随机选择依赖项的简单示例。注意maven-model和maven-artifact。我正在使用EclipseMars(4.5.0)除了UI中的误导性消息之外,这似乎对任何事情都没有任何影响。到处都看到“因冲突而被遗漏……”真是令人讨厌,尤其是当我想看到真正的冲突时。 最佳答案 Eclipse的“依赖层次