我正在尝试使用maven(struts2 blank archetype)启动一个新的struts 2项目 下面的代码运行并生成项目及其pom.xml
D:\Dev\IndigoWS>mvn archetype:generate -B DgroupId=com.proj.core -DartifactId=MyStruts2Blank -DarchetypeGroupId=org.apache.struts -DarchetypeArtifactId=struts2-ar
chetype-blank -DarchetypeVersion=2.2.1
来自终端的以下堆栈跟踪。
[INFO] Building Maven Default Project
[INFO] task-segment: [archetype:generate] (aggregator-style)
[INFO] ------------------------------------------------------------------------
[INFO] Preparing archetype:generate
[INFO] No goals needed for project - skipping
[INFO] [archetype:generate {execution: default-cli}]
[INFO] Generating project in Batch mode
[INFO] Archetype repository missing. Using the one from [org.apache.struts:strut
s2-archetype-blank:2.2.3] found in catalog remote
[INFO] ------------------------------------------------------------------------
[INFO] BUILD SUCCESSFUL
[INFO] ------------------------------------------------------------------------
但每当我尝试使用命令
将其转换为eclipse项目时 mvn eclipse:eclipse -Dwtpversion=1.5
我遇到了下面的致命错误
D:\ Dev \ MyWorkspace> cd MyStruts2Blank
D:\ Dev \ MyWorkspace \ MyStruts2Blank> mvn eclipse:eclipse -Dwtpversion = 1.5
[INFO]扫描项目...... [信息] - - - - - - - - - - - - - - - - - - - - - - - - ---------------------------------- [错误]致命错误
[信息] - - - - - - - - - - - - - - - - - - - - - - - - -------------------------------------------------- ----------------------- [INFO]构建POM时出错(可能不是此项目的POM)。项目ID:com.proj.core:MyStruts2Blank POM位置: d:\开发\ MyWorkspace \ MyStruts2Blank \ pom.xml的
pom.xml
<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<groupId>com.royj.core</groupId>
<artifactId>MyStruts2Blank</artifactId>
<version>${project.version}</version>
<packaging>war</packaging>
<name>Struts 2 Blank Webapp</name>
<properties>
<struts2.version>${project.version}</struts2.version>
</properties>
<dependencies>
<dependency>
<groupId>org.apache.struts</groupId>
<artifactId>struts2-core</artifactId>
<version>${struts2.version}</version>
</dependency>
<dependency>
<groupId>org.apache.struts</groupId>
<artifactId>struts2-config-browser-plugin</artifactId>
<version>${struts2.version}</version>
</dependency>
<dependency>
<groupId>org.apache.struts</groupId>
<artifactId>struts2-junit-plugin</artifactId>
<version>${struts2.version}</version>
<scope>test</scope>
</dependency>
<dependency>
<groupId>commons-logging</groupId>
<artifactId>commons-logging</artifactId>
<version>1.1.1</version>
</dependency>
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<version>4.5</version>
<scope>test</scope>
</dependency>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-mock</artifactId>
<version>2.0.8</version>
<scope>test</scope>
</dependency>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-core</artifactId>
<version>2.5</version>
<scope>test</scope>
</dependency>
<dependency>
<groupId>javax.servlet</groupId>
<artifactId>servlet-api</artifactId>
<version>2.4</version>
<scope>provided</scope>
</dependency>
<dependency>
<groupId>javax.servlet</groupId>
<artifactId>jsp-api</artifactId>
<version>2.0</version>
<scope>provided</scope>
</dependency>
</dependencies>
<build>
<plugins>
<plugin>
<groupId>org.mortbay.jetty</groupId>
<artifactId>maven-jetty-plugin</artifactId>
<version>6.1.21</version>
<configuration>
<scanIntervalSeconds>10</scanIntervalSeconds>
<scanTargets>
<scanTarget>src/main/webapp/WEB-INF</scanTarget>
<scanTarget>src/main/webapp/WEB-INF/web.xml</scanTarget>
<scanTarget>src/main/resources/struts.xml</scanTarget>
<scanTarget>src/main/resources/example.xml</scanTarget>
</scanTargets>
</configuration>
</plugin>
</plugins>
</build>
</project>
和maven版
Apache Maven 2.2.1 (r801777; 2009-08-07 03:16:01+0800)
Java version: 1.6.0_24
Java home: C:\Program Files\Java\jdk1.6.0_24\jre
Default locale: en_US, platform encoding: Cp1252
OS name: "windows xp" version: "5.1" arch: "x86" Family: "windows"
我需要做些什么来解决这个问题并成功生成一个struts 2空白原型。我可以使用maven为struts 2成功创建一个启动原型但空白原型没有成功。空白原型不再可用吗?顺便说一下,我正在使用 Eclipse Indigo版本:Indigo,Release Build id:20110615-0604 先谢谢你们。
答案 0 :(得分:1)
第一个我不得不说不要使用mvn eclipse:eclipse与Eclipse Indigo的关系,因为你有m2e作为Indigo的一部分,还通过Eclipse Marketplace安装m2e wtp插件。您的project.version定义在哪里,因为您在struts版本中使用它,但在您的pom中没有定义任何版本。
<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<groupId>com.royj.core</groupId>
<artifactId>MyStruts2Blank</artifactId>
<version>1.0.0-SNAPSHOT</version>
<packaging>war</packaging>
<name>Struts 2 Blank Webapp</name>
<properties>
<struts2.version>2.3.1.2</struts2.version>
</properties>
...
</project>
除此之外,我建议升级到Maven 3.0.3,因为Eclipse Indigo使用Maven 3. embedded。