2013-12-18 39 views
0

我特林创建Maven的web应用程序,我遵循这个指南:http://www.youtube.com/watch?v=YeC7XQho-O0创建的Tomcat - 用在Ubuntu日食Maven项目

当我创建这个项目它说,这样的警告:

There are no JREs installed in the workspace that are strictly compatible with this environment. testM6  Build path JRE System Library Problem 

我.pom文件

<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>ac.web.test</groupId> 
    <artifactId>testM6</artifactId> 
    <version>0.0.1-SNAPSHOT</version> 
    <packaging>war</packaging> 

    <name>testM6</name> 
    <url>http://maven.apache.org</url> 

    <dependencies> 
    <dependency> 
     <groupId>javax.servlet</groupId> 
     <artifactId>servlet-api</artifactId> 
     <version>2.4</version> 
     <scope>provided</scope> 
    </dependency> 
    <dependency> 
     <groupId>javax.servlet.jsp</groupId> 
     <artifactId>jsp-api</artifactId> 
     <version>2.1</version> 
     <scope>provided</scope> 
    </dependency> 
    </dependencies> 

    <build> 
    <plugins> 
     <plugin> 
     <groupId>org.apache.maven.plugins</groupId> 
     <artifactId>maven-compiler-plugin</artifactId> 
     <version>2.0.2</version> 
     <configuration> 
      <source>1.4</source> 
      <target>1.4</target> 
     </configuration> 
     </plugin> 
    </plugins> 
    </build> 
</project> 

,当我尝试切换到这个版本标签:

<build> 
    <plugins> 

    <plugin> 
     <groupId>org.apache.tomcat.maven</groupId> 
     <artifactId>tomcat7-maven-plugin</artifactId> 
     <version>2.0</version> 
    </plugin> 

    </plugins> 
    </build> 

我得到这样的警告:

Description Resource Path Location Type 
Build path specifies execution environment J2SE-1.5. There are no JREs installed in the workspace that are strictly compatible with this environment. 
testM6 Build path JRE System Library Problem 

我错过了什么?

谢谢了所有

我解决这个Warning - Build path specifies execution environment J2SE-1.4

,但我不明白为什么它不会自动

+0

您是否安装了Java? – FazoM

+0

只是出于兴趣 - 是否有一个原因,你为什么使用旧的2.4 servlet api而不是3.x? – 1615903

+0

不,它只是Eclipse所做的,我会尽快用新的api替换,但是感谢您的通知 –

回答

1

Eclipse正在根据您的POM文件创建您的构建路径。包括JRE系统库。在编译器插件的配置中,您指定您的源代码符合Java 1.4,并且您希望它被编译为符合Java 1.4。 Eclipse在您的标记视图中警告您它与“构建路径警告”没有完美匹配。 Maven在运行时也会这样做。如果您未使用JDK 1.4为maven构建配置Eclipse运行配置,则Eclipse将选择运行Maven的任何JDK(默认JRE),Maven会警告您可能无法产生您所期望的事实。

如果你有JDK 7在Eclipse配置,那么你需要设置以下为编译器插件的配置:

<configuration> 
    <source>1.7</source> 
    <target>1.7</target> 
</configuration> 

你已经做了之后,应该警告消失。 Eclipse Marker和Maven在运行时吐出的警告。

+0

我解决了添加代码。用“maven-compiler”添加tomcat插件是正确的? –

+0

如果你需要tomcat插件取决于你想要实现的。如果您只想从Eclipse内部的tomcat中部署和运行带有标准maven布局的Web项目,那么您不需要Tomcat Maven插件。Eclipse m2wtp插件会照顾到这一点。 – Ralf

+0

有一个链接,我可以在哪里知道什么是maven插件? –

0

我看到了Java 1.5安装在你的系统和你试图使用Tomcat 7.根据this link运行Tomcat 7的最低要求是java 1.6。

+0

是的,我解决了这个http://stackoverflow.com/questions/3138384/java-warning-build-path-specifies-执行环境j2se-1-4 但我不明白为什么它不会自动 –

+0

它确实如果你提供适当的Maven POM配置。 – Gimby

+0

@Gimby我如何正确设置它使用Java 1.7? –