虽然只有两天了,但是我肯定会在所有Java项目中都使用gradle,并从所有项目的根目录中删除pom.xml,这对我肯定是有利的。
但是,我希望保持与Maven兼容,就某种意义而言,我希望gradle任务能够在用户希望的项目根目录下生成合适的pom.xml。
目前,我对pom.xml的唯一引用是在build.gradle文件的这一部分中(只需进行很少的修改,就可以在这里找到):
uploadArchives {
repositories {
mavenDeployer {
beforeDeployment {
MavenDeployment deployment -> signing.signPom(deployment);
}
repository(url: sonatypeRepoURI) {
authentication(userName: sonatypeUsername,
password: sonatypePassword);
}
pom.project {
name "${name}";
packaging "bundle";
description "${description}";
url "${projectURL}";
scm {
url "${gitroscm}";
connection "${gitroscm}";
developerConnection "${gitrwscm}";
}
licenses {
license {
name "Lesser General Public License, version 3 or greater";
url "http://www.gnu.org/licenses/lgpl.html";
distribution "repo";
}
}
developers {
developer {
id "whocares";
name "whocares";
email "whocares";
}
}
}
}
}
}
我如何pom.project
从这个非常深层的嵌套结构中提取出一个可以生成pom.xml的任务(默认情况下,生成的pom.xml在其中build/poms/pom- default.xml
并且看起来还不错)?
更重要的是,是否有可能在仍可以引用的情况下将其提取pom.project
出来uploadArchives
?
到build.gradle文件的完整链接:这里。
您可以使用gradle
maven插件
。这会将pom
约定方法添加
到项目中,您可以在任务中使用该方法来生成pom.xml
文件,例如
task writeNewPom {
doLast {
pom {
project {
groupId 'org.example'
artifactId 'test'
version '1.0.0'
inceptionYear '2008'
licenses {
license {
name 'The Apache Software License, Version 2.0'
url 'http://www.apache.org/licenses/LICENSE-2.0.txt'
distribution 'repo'
}
}
}
}.writeTo("pom.xml")
}
}
然后调用gradle createPom
在项目根目录中生成pom.xml。在pom定义中的所有内容中,您应该真正提供groupId
,artifactId
并且version
,其他类似的licenses
对象并不是那么重要。
您还可以在此示例中查看具有某些依赖项的项目定义,然后尝试运行它以查看产生的结果。
添加了一些新关键字,并且不推荐使用某些技术。请检查
我有一个包含多个子项目的根项目。最初,我们将这些项目作为独立的Maven项目保留,但我意识到Gradle更适合我使用。但是对于其中一个子项目,我们宁可不将其转换为Gradle项目,而将其保留为Maven项目。 root/build.gradle root/common.gradle root/api/pom.xml
我得到以下错误消息,同时添加m2e Maven与eclipse: 无法完成安装,因为找不到一个或多个必需项。正在安装的软件:用于Eclipse的m2e-Maven集成(包括孵化组件)1.6。1.20150625-2338(org.eclipse.m2e.feature.feature.group 1.6.1.20150625-2338)缺少要求:Maven POM XML编辑器1.6。1.2015
我是Spring boot的新手,我认为这个问题非常基本。 我使用Spring Boot创建了一个应用程序,在开发环境中一切都很好。但当我将jar文件从目标目录复制到另一台机器并运行“java-jar”时,它不会呈现jsp页面,并出现以下错误: 当我将src文件夹从项目根目录复制到同一位置时,它工作正常。 似乎jar文件只是从项目的根目录工作。 这是我的配置: 和我的项目结构: 我在命令行运行以下
我面临这个问题,我不知道该怎么办。我们将一个项目从git导入Intellij,当我们执行mvn clean install时,maven开始在项目根目录上创建所有依赖项文件夹。这只发生在我们的一台电脑上,我们不知道为什么: 你知道怎么解决这个问题吗?谢谢使用设置更新。xml Intellij
我做了一个简单的项目,其中包含一些测试,我希望能够在其他计算机上启动测试。我使用runas构建了这个项目- 错误:在com类中找不到Main方法。实例TestPurchase,请将main方法定义为:publicstaticvoidmain(String[]args)或JavaFX应用程序类必须扩展JavaFX。应用应用 据我所知,TestNG不需要任何主方法,因为有注释。这就引出了一些问题: 我
问题内容: 当我尝试使用生成Eclipse项目文件时,出现以下错误: 插件管理器中执行目标’org.apache.maven.plugins:maven-eclipse- plugin:2.9-SNAPSHOT:eclipse’的内部错误:无法加载mojo’org.apache.maven.plugins:maven- eclipse-plugin:插件``org .apache.maven.pl