Bet*_*sta 8 java eclipse tomcat maven
我正在寻找如何在Eclipse中使用Macat的Tomcat的最佳方法.
我有一些开发Java EE应用程序的经验,并且在使用Maven时我期待类似的行为.
我的要求很简单:
我不知道Tomcat + Eclipse是如何工作的,所以我假设Maven命令
mvn eclipse:eclipse -Dwtpversion=2.0
Run Code Online (Sandbox Code Playgroud)
设置正确的一切,但我怀疑它不能正常工作(或至少如预期的那样).
当项目(让我们称之为测试)在maven中构建时,结果在${project}/target/test文件夹中.但在我看来,Tomcat的类来自不同的文件夹(${project}/target/classes?).这是恕我直言错误(如果我错了,请纠正我),但maven可以在构建类之前做其他操作 - 代码生成,资源过滤,AOP编织等.
有一些建议如何使用它?因为mvn clean install从命令行执行并将结果部署到Tomcat对我来说听起来不像IDE(集成开发环境).有可能指示maven eclipse插件正确设置它吗?
我也尝试使用,mvn tomcat:run但在这里我完全失去了,我得到错误我不明白fe
java.lang.NoSuchMethodError: org.apache.cxf.common.classloader.ClassLoaderUtils.loadClass
Run Code Online (Sandbox Code Playgroud)
并且我不知道为什么它在使用服务器运行时为tomcat 6工作时没有工作.
可以指示Eclipse mvn install在保存类时执行吗?它会起作用吗?这是否足够快(重建只改变了东西+依赖关系,因为我习惯于从标准的JSE项目)?
其实我正在使用
编辑
pom.xml中的一些相关部分
<project ...>
<modelVersion>4.0.0</modelVersion>
<groupId>...</groupId>
<artifactId>...</artifactId>
<version>...</version>
<packaging>war</packaging>
<properties>
<spring.version>3.1.1.RELEASE</spring.version>
<!-- WSDL -> Java (start) -->
<cxf.version>2.7.3</cxf.version>
<cxf-codegen-plugin.version>2.6.1</cxf-codegen-plugin.version>
<cxf.sourceRoot>src/main/generated</cxf.sourceRoot>
<!-- WSDL -> Java (end) -->
<junit.version>4.11</junit.version>
<maven.build.timestamp.format>yyyy-MM-dd HH:mm</maven.build.timestamp.format>
<project.build.date>${maven.build.timestamp}</project.build.date>
</properties>
<dependencies>
...
</dependencies>
<build>
<resources>
<resource>
<!-- filtering used to replace variables from in property files -->
<filtering>true</filtering>
<directory>${basedir}/src/main/java</directory>
<excludes>
<exclude>**/*.java</exclude>
</excludes>
</resource>
<resource>
<filtering>false</filtering>
<directory>${basedir}/src/main/resources</directory>
</resource>
</resources>
<plugins>
<!-- add src/main/generated for maven -->
<plugin>
<groupId>org.codehaus.mojo</groupId>
<artifactId>build-helper-maven-plugin</artifactId>
<version>1.7</version>
<executions>
<execution>
<phase>generate-sources</phase>
<goals>
<goal>add-source</goal>
</goals>
<configuration>
<sources>
<source>src/main/generated</source>
</sources>
</configuration>
</execution>
</executions>
</plugin>
<!-- WSDL -> Java (start) -->
<plugin>
<!-- !!! READ !!! -->
<!-- mvn cxf-codegen-plugin:wsdl2java NOT working, comment phase and run "mvn clean install -DskipTests") -->
<groupId>org.apache.cxf</groupId>
<artifactId>cxf-codegen-plugin</artifactId>
<version>${cxf-codegen-plugin.version}</version>
<executions>
...
</executions>
</plugin>
</plugins>
<pluginManagement>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<version>2.5.1</version>
<inherited>true</inherited>
<artifactId>maven-compiler-plugin</artifactId>
<configuration>
<source>1.6</source>
<target>1.6</target>
<encoding>UTF-8</encoding>
</configuration>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<version>2.1.1</version>
<artifactId>maven-war-plugin</artifactId>
<configuration>
<warName>test</warName>
</configuration>
</plugin>
<!-- resources in UTF-8 -->
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-resources-plugin</artifactId>
<version>2.5</version>
<configuration>
<encoding>UTF-8</encoding>
</configuration>
</plugin>
<!-- JUnit -->
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-surefire-plugin</artifactId>
<version>2.8</version>
<configuration>
<redirectTestOutputToFile>true</redirectTestOutputToFile>
</configuration>
</plugin>
<plugin>
<artifactId>maven-eclipse-plugin</artifactId>
<configuration>
<wtpversion>1.5</wtpversion>
</configuration>
</plugin>
</plugins>
</pluginManagement>
</build>
</project>
Run Code Online (Sandbox Code Playgroud)
如果你使用mvn eclipse:eclipse,Maven 将创建特定于 Eclipse 的项目设置。这样,Eclipse 就不会执行 Maven 命令来在 Eclipse 中开发应用程序。Eclipse 会像往常一样自动将您的应用程序部署到嵌入式 Tomcat。
如果您进行测试构建或生产构建,则使用 Maven(例如mvn package deploy),这将创建 war 文件并将其部署到 Nexus(或任何其他工件存储库,如果已配置)。在你的target/文件夹中,您将找到一个artifactId-version.war可以部署在任何您想要的 Tomcat 上的文件。
这是一篇包含更多提示的文章:https://jacksonps4.me/wordpress/?p=1013
| 归档时间: |
|
| 查看次数: |
4255 次 |
| 最近记录: |