当我运行时,mvn pmd:pmd我得到PMD的警告/错误,说代码不能使用java 1.4或1.5的泛型,注释或枚举.当未设置targetJdk属性(我设置了)时,这应该是一个错误.
这是我得到的错误的一个例子
[警告]解析/Users/augusto/Downloads/PMD-Clover2-Cobertura-Maven2-Test/PMDTest/src/main/java/org/xh/studies/quality/App.java时出错:除非运行,否则无法使用泛型在JDK 1.5模式下!
这是我正在使用的pom的片段(下面是整个应用程序的链接)
<build>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<version>2.3.2</version>
<configuration>
<source>1.6</source>
<target>1.6</target>
</configuration>
</plugin>
</plugins>
</build>
<reporting>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-pmd-plugin</artifactId>
<version>2.5</version>
<configuration>
<targetJdk>1.6</targetJdk>
</configuration>
</plugin>
</plugins>
</reporting>
Run Code Online (Sandbox Code Playgroud)
我在Mac上使用Maven 3.0.2,使用最新的java补丁1.6.0_24.
点击这里下载完整项目(8kb)
我正在寻找一种在 settings.xml 中设置系统代理设置的方法。如果代理服务器不需要身份验证,我可以将用户名和密码标签留空吗?我怎样才能做到这一点?
我找不到来自 maven 的任何文件:http : //maven.apache.org/guides/mini/guide-proxies.html
问题:在Nexus上禁用重新部署时,如何发布具有2个独占配置文件的maven项目?
示例(已编辑):我有一个maven项目MyArtifact,其中有两个配置文件pom.xml(P1和P2),它们会生成2个不同的耳朵.每个配置文件配置maven-ear-plugin包括不同的模块并自动生成application.xml.生成的工件是MyArtifact-1.0-P1.ear(2个战争模块)和MyArtifact-1.0-P2.ear(3个战争模块).
问题1(重新部署到nexus):
mvn deploy -P P1"一切顺利(战争和pom部署到Nexus)mvn deploy -P P2"错误!Nexus抱怨重新部署pom.xml.问题2(maven-release-plugin):
当使用maven-release-pluginto发布多个配置文件时,maven会做很多事情(签出和标记CSM,更新pom版本,转向标记,提交CSM等等).至少为每个配置文件执行重新发布/重新标记是不高效也不实际的.
当我使用 SnakeYaml 1.14 解析 config.yaml 时,出现“未找到类异常”。以下是用于解析的代码。我已经使用 maven 来构建项目。
public class AppConfigurationReader
{
private static final String CONFIG_FILE = "config.yaml";
private static String fileContents = null;
private static final Logger logger = LoggerFactory.getLogger(AppConfigurationReader.class);
public static synchronized AppConfiguration getConfiguration() {
return getConfiguration(false);
}
public static synchronized AppConfiguration getConfiguration(Boolean forceReload) {
try {
Yaml yaml = new Yaml();
if(null == fileContents || forceReload) {
fileContents = read(CONFIG_FILE);
}
yaml.loadAs(fileContents, AppConfiguration.class);
return yaml.loadAs(fileContents, AppConfiguration.class);
}
catch (Exception ex) {
ex.printStackTrace();
logger.error("Error loading fileContents {}", …Run Code Online (Sandbox Code Playgroud) 我在 nexus 服务器中有 Date 基础项目作为快照,它在我的两个 Web 项目(测试和生产)中用作依赖项。但我为这两个 Web 项目使用了两个不同的数据库。我想将测试数据库用于测试 Web 项目,将生产数据库用于生产 Web 项目。所以我想在jenkins中构建项目时根据web项目更改hibernate配置文件路径。我的代码片段是这样的。
数据库实用程序
public class DBUtils {
private static SessionFactory sessionFactory;
private DBUtils() {
}
static {
Configuration configuration = new Configuration();
configuration.configure("/hibenateconfigpath");
ServiceRegistry serviceRegistry = new StandardServiceRegistryBuilder()
.applySettings(configuration.getProperties()).build();
sessionFactory = configuration.buildSessionFactory(serviceRegistry);
}
public static SessionFactory getSessionFactory() {
return sessionFactory;
}
}
Run Code Online (Sandbox Code Playgroud)
pom.xml
<repositories>
<repository>
<id>snapshots</id>
<name>Snapshots</name>
<url>url/snapshots/</url>
</repository>
</repositories>
<dependencies>
<dependency>
<groupId>com.my</groupId>
<artifactId>DBAccess</artifactId>
<version>0.0002-SNAPSHOT</version>
</dependency>
Run Code Online (Sandbox Code Playgroud)
请使用 maven 配置文件或其他任何内容提供任何解决方案。
我正在尝试部署一个Web应用程序,但它没有用,我正在使用
我有这个配置:
在apache-maven-3.2.5(settings.xml)中
<server>
<id>TomcatServer</id>
<username>tomcatg</username>
<password>sg</password>
</server>
Run Code Online (Sandbox Code Playgroud)
在apache-tomcat-7.0.63(tomcat-users.xml)中
<tomcat-users>
<role rolename="manager-gui"/>
<role rolename="manager-script"/>
<user username="tomcatg" password="sg" roles="manager-gui"/>
<user username="tomcats" password="ss" roles="manager-script" />
</tomcat-users>
Run Code Online (Sandbox Code Playgroud)
在pom.xml中
<?xml version="1.0" encoding="UTF-8"?>
Run Code Online (Sandbox Code Playgroud)
http://maven.apache.org/xsd/maven-4.0.0.xsd"> 4.0.0
<groupId>simple</groupId>
<artifactId>simple</artifactId>
<version>1.0-SNAPSHOT</version>
<packaging>war</packaging>
<dependencies>
<dependency>
<groupId>javax.servlet</groupId>
<artifactId>javax.servlet-api</artifactId>
<version>3.1.0</version>
<scope>provided</scope>
</dependency>
<dependency>
<groupId>org.slf4j</groupId>
<artifactId>slf4j-api</artifactId>
<version>1.5.6</version>
<type>jar</type>
</dependency>
<dependency>
<groupId>org.slf4j</groupId>
<artifactId>slf4j-simple</artifactId>
<version>1.5.6</version>
<type>jar</type>
</dependency>
</dependencies>
<build>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<version>3.1</version>
<configuration>
<source>1.7</source>
<target>1.7</target>
</configuration>
</plugin>
<plugin>
<groupId>org.apache.tomcat.maven</groupId>
<artifactId>tomcat7-maven-plugin</artifactId>
<version>2.2</version>
<configuration>
<url>http://127.0.0.1:8080/manager/text/</url>
<server>TomcatServer</server>
<username>tomcatg</username> …Run Code Online (Sandbox Code Playgroud) 我是 Maven 的新手。我想这两者之间是有区别的。但是有人能指出它到底是什么吗?不同版本的Maven有什么区别?就像以前使用过其中任何一个一样,而在较新的版本中,使用了另一个?
如果所有类都是最新的" Nothing to compile - all classes are up to date"那么maven会再次创建jar吗?
正如我在日志中看到的那样,jar不再创建.所以maven知道所有课程都是最新的.
问题:是否有任何流程或其他事情可以解决这个问题?
对于第一部分:我想在构建 maven 项目时生成多个 war 文件。第二部分:我想动态重命名这些文件。
例如:现在生成的文件名为 test.war。如果我想在单个构建中多次生成此文件,我希望文件的名称如下: test_1.war, test_2.war , test_3.war ...
你们有什么想法如何实现?我也可以创建一个 .bat 文件来做这些事情,但我不太确定如何:)
谢谢
我有 Maven 项目。当我在文件夹中单击安装maven 构建zip和jar文件时target。
但是当我单击部署时,它只会将jar文件和依赖项部署到远程存储库。
问题:如何使用标准 maven 插件添加 zip 文件以部署到远程 nexus 存储库。
编辑
<packaging>custom-zip<packaging>