草庐IT

build_artifacts

全部标签

java - 如何在 Maven Artifact 中运行 Java 类,自动解析依赖关系?

如果我知道一个Artifact的坐标,以及该Artifact中类的名称,我可以让Maven运行这个类,包括它在Java类路径上的所有依赖项吗?例如,假设一位同事告诉我一个我可以运行的工具,它发布到我们的内部Nexus,Artifact坐标为example:cool-tools:1.0.0。我用了thisanswer下载Artifact。现在,我知道主类名称是example.Main。但是,如果我只是转到Artifact的下载位置并运行java-cpcool-tools-1.0.0.jarexample.Main,我会得到NoClassDefFoundError的任何依赖项酷工具。我知道

java - 排除的 Artifact 显示在依赖项 :tree 中

我的项目依赖于org.apache.pig:pig但我不想要org.mortbay.jetty:jetty的传递依赖和org.mortbay.jetty:servlet-api.我将这两个Artifact添加为但这似乎不起作用:mvndependency:tree-Dincludes=org.mortbay.jetty:servlet-api[INFO]Scanningforprojects...[INFO]Searchingrepositoryforpluginwithprefix:'dependency'.[INFO]--------------------------------

java - 需要 JDK 1.6 的最新版本的 build-helper-maven-plugin 是什么?

BuildHelperMaven插件的最新版本(目前为1.10)需要Java1.7,这破坏了我的构建。Theplugindocumentationpage仅显示最新版本的Java版本要求。 最佳答案 查看BuildHelperMaven插件版本,here版本1.9.1指向父POMorg.codehaus.mojo.mojo-parent版本33,它仍然将其Java目标设置为1.5(通过属性mojo.java.target)。版本1.10指向父POMorg.codehaus.mojo.mojo-parent版本38,它将其Java目标

java - 未知的生命周期阶段 "build"。您必须以格式指定有效的生命周期阶段或目标

团队,在我的pom文件中出现以下错误。未知的生命周期阶段“构建”。您必须在格式中指定有效的生命周期阶段或目标。我浏览了提供的URL,但仍然收到错误。MVN版本3.2.1,Java版本:1.7.0_51任何帮助将不胜感激POM看起来像:4.0.0com.organization.dramersTest0.0.1-SNAPSHOTsTesttestautomationframeworkcreatedusingJava,testNG,seleniumsrc/main/resources/testng.xmlfalseorg.apache.maven.plugin-toolsmaven-plu

java - MyEclipse 中的 "build.properties does not exist"错误

我使用MyEclipse8.6.1开发我的应用程序。我在某些项目中收到“build.properties不存在”错误,但工作区编译和运行没有问题,仅在项目根目录中显示错误图像(红色图像)。我在frume中搜索以解决此问题,在某些情况下会说“此问题的原因是或在.project文件中”,但我看不到此文件有任何问题。 最佳答案 我通过以下方式解决了这个问题:项目/属性/build者取消选中所有构建器提交项目/属性/build者重新检查所有构建器提交 关于java-MyEclipse中的"bui

java.lang.NoClassDefFoundError : Lorg/apache/logging/log4j/Logger; but the artifact exists 错误

我正在使用Tomcat部署javawebapp。简而言之,我得到了一个很长的堆栈跟踪:GRAVE:Achildcontainerfailedduringstartjava.util.concurrent.ExecutionException:org.apache.catalina.LifecycleException:Failedtostartcomponent[StandardEngine[Catalina].StandardHost[localhost].StandardContext[/new-webapp]][...]Causedby:java.lang.NoClassDefF

java - ant build过程中修改代码的最佳实践

诚然,这听起来不像是最佳实践,但让我解释一下。在构建期间,我们需要将构建号和系统版本粘贴到一个类中,该类的唯一目的是包含这些值并使它们可访问。我们的第一个想法是使用系统属性,但由于部署环境的易变性(另一种说法是“系统管理员正在做奇怪的、邪恶的令人毛骨悚然的事情”),我们希望对它们进行硬编码。基本上我看到了在ant中实现它的4种可能性:使用在类中的标记上此方法的问题是文件已更改,因此您必须在编译后用替换回标记...太丑了,我不想用正则表达式接触源代码。加上时间依赖性。复制文件,对副本进行替换,编译副本,删除副本一个人必须注意顺序-原始类必须首先编译才能被副本覆盖。时间依赖性也很丑陋。复制

java - 为什么我需要添加 Artifact JSR305 才能使用 Guava 14+?

在查找有关stackoverflow的信息时,我看到了一个与我类似的问题,但没有真正的答案here.我需要将我的Maven项目从guava11.0.2迁移到guava14或更高版本(我需要RangeSet)。我用依赖项更新了我的mavenpom:com.google.guavaguava14.0然后我运行maven构建,并得到这个错误:[ERROR]xxx.java:cannotfindsymbol[ERROR]symbol:classNonnull[ERROR]location:packagejavax.annotation仔细一看,这个注解是JSR305自带的,依赖guava11.

java - 谁在使用我的 Maven Artifact ?

我有一个由多个Web应用程序(war)和库(jar)组成的系统。他们都在使用maven并且在我的控制之下(源代码,在Nexus中构建的Artifact,...)。假设应用程序A直接使用库L1,间接使用L2(从L1使用)。我可以使用Maven的dependency:tree或graph:project插件轻松地从应用程序自上而下检查依赖关系树。但是我如何检查,谁在使用我的图书馆?在我的示例中,我想知道A是否是唯一使用L1的应用程序(或库),L2是否被L1和其他应用程序使用,比方说B。是否有任何用于maven或nexus的插件,或者我应该尝试为此写一些脚本?你有什么建议?

java - 直接从存储库加载 Drools/KIE Workbench Artifact

我们尝试使用全新的KIE工作台(以前称为Guvnor)和基于maven的新Artifact切换到Drools6。现在我想使用thisblogpost中描述的系统在第二张图片中(“部署”):通过HTTP从工作台存储库加载规则(虚线箭头,从左侧的HTTP直接进入应用程序)。问题是,我不知道如何将Artifact加载到我的KieServices/KieModule对象中。我基本上不想使用maven,我也无法提供全局的maven的settings.xml的路径作为Java参数,所以这个选项没有了。我认为类似的问题是thisone.正如那里提到的,我也尝试加载一个URL资源,但问题似乎是系统无法