草庐IT

java - maven 编译 groovy

我遇到这样一种情况,我的一些groovy代码引用了我的java文件,但我也有不同的java文件引用了相同的groovy代码。当尝试在maven中编译时,我要么需要在java之前或之后编译groovy,但由于groovy代码依赖于一些java文件,而不同的java文件依赖于groovy代码,所以这不会真正起作用。有没有办法处理这种依赖性? 最佳答案 是的,只需使用GMaven.由于它是一个联合编译器,它会自动管理您的java到groovy和groovy到java的依赖关系。简而言之,您需要:在你的pom.xml中包含gmaven-pl

java - 如何从 Maven 构建 jar 中排除一组包?

这就是我所需要的。其他详细信息:我有一个src/bootstrap/java文件夹和常规src/main/java文件夹。出于明显的原因,每个人都需要去一个单独的jar。我能够使用this生成Bootstrapjar:maven-jar-plugin2.3.1only-bootstrapjarpackagebootstrapsun/**/*但是常规jar仍然包含Bootstrap类。我正在用thisanswer编译Bootstrap类.在没有引导类的情况下生成myproject.jar有什么好处吗? 最佳答案 您必须使用“defau

java - Netbeans:项目主要 Artifact 通过maven-shade-plugin处理

我正在使用maven-shade-plugin构建我的项目,Netbeans8.0提示以下警告:Project'smainartifactisprocessedthroughmaven-shade-pluginWhenthefinalartifactjarcontainsclassesnotoriginatingincurrentproject,NetBeansinternalcompilercannotusethesourcesoftheprojectforcompilation.Thenchangesdoneinproject'ssourcecodeonlyappearsindep

java - 限制使用特定包的 Maven 插件

我在一个大约有40名开发人员的团队中工作,我不希望任何开发人员使用某些特定的API(准确地说是java.sun.Base64)供任何开发人员使用,而是让他们使用替代方案sunAPI作为其专有。是否有任何maven插件,通过它在pom.xml中指定受限制的包,如果在代码中的任何地方使用这些包中的任何一个,构建将中断?或者有更优雅的方式来做到这一点??谢谢 最佳答案 您想为您的项目定义架构规则,最好通过源代码分析来执行。Sonar现在可以指定suchrules并在项目的质量仪表板上显示违规情况。如果您希望构建中断,还可以通过启用Sona

带有 Eclipse 和 Maven 的 OSX 上的 JAVA_HOME

我最近设置了一台OSX机器,当在Eclipse中运行时,我无法让Maven获取JAVA_HOME。到目前为止,我已经完成了以下工作:使用exportJAVA_HOME=$(/usr/libexec/java_home)在~/.bash_profile中设置JAVA_HOME将eclipse.ini中的EclipseVM指定为-vm/Library/Java/JavaVirtualMachines/jdk1.7.0_45.jdk/Contents/Home/bin/java使用echoJAVA_HOME=\/usr/libexec/java_home-v1.7`在/etc/mavenrc

java - java源码中的Maven groupId和包名

如果我有一个mavengroupidcom.mycompany.app,这是否意味着我需要命名我的包在com.mycompany.app.*的名称下? 最佳答案 不,maven不关心你使用什么包名。话虽如此,让它们保持一致并不是一个坏主意,这样可以更容易地看到一个类来自哪个依赖项。 关于java-java源码中的MavengroupId和包名,我们在StackOverflow上找到一个类似的问题: https://stackoverflow.com/quest

java - Android 与 maven ? Apk 未知

无法让Android与Maven一起工作。可能是什么问题(从mavenquickstart原型(prototype)生成):4.0.0asdasd0.0.1-SNAPSHOTapkasd4.0.3com.google.androidandroid${platform.version}providedcom.jayway.maven.plugins.android.generation2android-maven-plugin3.2.0${project.basedir}/AndroidManifest.xml${project.basedir}/assets${project.base

java - 将参数传递给 Maven 发布版本

我正在尝试使用Maven发布一个库并执行到sourceforge的站点部署(我首先创建了一个交互式shell)。发布由Jenkins作业完成(使用Jenkins的Maven发布插件)。我试过:-X-e-Dresume=false-Dusername=pucerelease:preparerelease:perform-Darguments="-Dusername=puce"和-X-e-Dresume=false-Dusername=puce-Darguments=-Dusername=pucerelease:preparerelease:perform但两次作业都卡在site:depl

java - Maven 警告 "The artifact...has been relocated to..."是什么意思?

当我尝试运行包时收到这些警告。[WARNING]Theartifactorg.apache.commons:commons-io:jar:1.3.2hasbeenrelocatedtocommons-io:commons-io:jar:1.3.2[WARNING]Theartifactaxis:axis-ant:jar:1.4hasbeenrelocatedtoorg.apache.axis:axis-ant:jar:1.4 最佳答案 在你的依赖声明中将groupId从org.apache.commons更改为commons-io

java - Maven 编译错误

当我在Netbeans中构建和运行我的程序时,它可以毫无问题地工作。但是当我尝试“mvncompile”时使用相同的pom.xml文件我得到这个错误:[ERROR]Failedtoexecutegoalorg.apache.maven.plugins:maven-compiler-plugin:2.0.2:compile(default-compile)onprojecthadoop-test:Compilationfailure[ERROR]/home/metin/NetBeansProjects/hadoop-test/src/main/java/com/citusdata/had