是否tomcat7-maven-plugin
使用tomcat 8服务器和java 8?我找不到任何东西tomcat8-maven-plugin
.
我正在使用Maven 2,我有一个外部Tomcat 7.我想知道如何使用Maven Tomcat插件运行Tomcat 7.
Maven 3中的Maven Tomcat插件默认运行Tomcat 7.
谢谢.
当我使用mvn tomcat:tomcat-maven-plugin的部署时出现403错误:
无法在项目my-webapp上执行目标org.codehaus.mojo:tomcat-maven-plugin:1.0:deploy(default-cli):无法调用Tomcat管理器:服务器返回HTTP响应代码:403用于URL: http://localhost:8080/manager/text/deploy?path=%2Fdms&war=
我认为这是因为空战参数.但为什么它是空的???
在pom.xml中有:
<plugin>
<groupId>org.codehaus.mojo</groupId>
<artifactId>tomcat-maven-plugin</artifactId>
<configuration>
<warFile>target\my-webapp.war</warFile>
<server>myserver</server>
<url>http://localhost:8080/manager/text</url>
<path>/dms</path>
</configuration>
</plugin>
Run Code Online (Sandbox Code Playgroud) 我尝试使用Maven将我的应用程序部署到Tomcat,我发现了这个示例.
这是我的pom.xml的片段:
<!-- Maven Tomcat Plugin -->
<plugin>
<groupId>org.codehaus.mojo</groupId>
<artifactId>tomcat-maven-plugin</artifactId>
<configuration>
<url>http://127.0.0.1:8080/</url>
<server>TomcatServer</server>
</configuration>
</plugin>
<!-- Maven compiler plugin -->
<plugin>
<artifactId>maven-compiler-plugin</artifactId>
<configuration>
<source>1.6</source>
<target>1.6</target>
</configuration>
</plugin>
Run Code Online (Sandbox Code Playgroud)
当我跑步时,tomcat:deploy
我得到这个错误:Cannot invoke Tomcat manager: Connection refused
.这是完整的堆栈跟踪:
[ERROR] Failed to execute goal org.codehaus.mojo:tomcat-maven-plugin:1.1:deploy (default-cli) on project webapp: Cannot invoke Tomcat manager: Connection refused: connect -> [Help 1]
org.apache.maven.lifecycle.LifecycleExecutionException: Failed to execute goal org.codehaus.mojo:tomcat-maven-plugin:1.1:deploy (default-cli) on project webapp: Cannot invoke Tomcat manager
at org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:217)
at org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:153)
at org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:145)
at …
Run Code Online (Sandbox Code Playgroud) 我使用tomcat-maven-plugin将我的战争部署到服务器.我要做的是在我的pom.xml中配置它:
<configuration>
...
<url>http://localhost/manager</url>
<username>admin</username>
<password>admin</password>
...
</configuration>
Run Code Online (Sandbox Code Playgroud)
但是后来我显然希望将这些设置保存在不同的地方,因为我在我的计算机上工作但是然后有一个升级和一个实时服务器以及服务器的设置不同.
所以让我们使用.m2/settings.xml
:
<servers>
<server>
<id>local_tomcat</id>
<username>admin</username>
<password>admin</password>
</server>
</servers>
Run Code Online (Sandbox Code Playgroud)
现在更改pom.xml:
<configuration>
<server>local_tomcat</server>
</configuration>
Run Code Online (Sandbox Code Playgroud)
但是在哪里放置服务器的URL?在服务器标签下的settings.xml中没有这个位置!也许是这样的?
<profiles>
<profile>
<id>tomcat-config</id>
<properties>
<tomcat.url>http://localhost/manager</tomcat.url>
</properties>
</profile>
</profiles>
<activeProfiles>
<activeProfile>tomcat-config</activeProfile>
</activeProfiles>
Run Code Online (Sandbox Code Playgroud)
..并使用$ {tomcat.url}属性.
但问题是,为什么要使用服务器标签settings.xml
呢?为什么不使用属性作为用户名和密码呢?或者URL是否也存在于设置URL中,因此我不必使用属性?
我只是想理解,因为我从另一个问题得到了代码,并且它工作正常,但我不明白这个操作的流程.
这是我对Tomcat 7的Apache Maven Tomcat插件的理解,当使用mvn tomcat7时:使用以下配置运行:
<plugin>
<groupId>org.apache.tomcat.maven</groupId>
<artifactId>tomcat7-maven-plugin</artifactId>
<version>2.0-SNAPSHOT</version>
<configuration>
<path>/${project.build.finalName}</path>
</configuration>
</plugin>
Run Code Online (Sandbox Code Playgroud)
它创建了一个具有默认配置的新Tomcat 7实例,然后在这个实例中使用项目war文件作为已部署的项目,我是对的,请纠正我,如果我错了,或者有人请向我描述这个过程是如何工作的,谢谢预先.
我正在尝试开发Wicket应用程序.它的登录页面必须使用SSL打开.所以我做了一些编码.但我找不到为SSL配置maven tomcat 7插件.我正确创建了密钥库文件.使用keytool -genkey -alias tomcat -keyalg RSA
命令它位于windows上的用户目录中.密码是密码.
这就是我在pom.xml中定义tomcat的方法:
<plugin>
<groupId>org.apache.tomcat.maven</groupId>
<artifactId>tomcat7-maven-plugin</artifactId>
<version>2.0-beta-1</version>
<executions>
<execution>
<id>tomcat-run</id>
<goals>
<goal>exec-war-only</goal>
</goals>
<phase>package</phase>
<configuration>
<path>foo</path>
<!-- optional only if you want to use a preconfigured server.xml file -->
<serverXml>src/main/tomcatconf/server.xml</serverXml>
<!-- optional values which can be configurable -->
<attachArtifactClassifier>
default value is exec-war but you can customize
</attachArtifactClassifier>
<attachArtifactClassifierType>
default value is jar
</attachArtifactClassifierType>
<httpsPort>8443</httpsPort>
<keystoreFile>${user.home}/.keystore</keystoreFile>
<keystorePass>password</keystorePass>
<protocol>org.apache.coyote.http11.Http11AprProtocol</protocol>
</configuration>
</execution>
</executions>
</plugin>
Run Code Online (Sandbox Code Playgroud) src/main/webapp
我的项目目录中有CSS和JavaScript文件.我想加入这些资源的加入和缩小版本到我的WAR文件和tomcat-maven-plugin
拾取它的地方.
我使用yuicompressor-maven-plugin创建文件并将其放入${project.build.directory}/${project.build.finalName}
.它适用于maven包,并且这些资源可以用于WAR文件,但不知何故tomcat-maven-plugin
根本看不到它们.我应该使用不同的目录吗?
我的pom:
<plugins>
<plugin>
<groupId>org.codehaus.mojo</groupId>
<artifactId>tomcat-maven-plugin</artifactId>
<version>1.1</version>
<configuration>
<path>/MyApp</path>
<warDirectory>${project.build.directory}/${project.build.finalName}</warDirectory>
</configuration>
</plugin>
<plugin>
<version>2.5.1</version>
<inherited>true</inherited>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<configuration>
<source>1.6</source>
<target>1.6</target>
<optimize>true</optimize>
<debug>true</debug>
</configuration>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-resources-plugin</artifactId>
<version>2.5</version>
<configuration>
<encoding>UTF-8</encoding>
</configuration>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-war-plugin</artifactId>
<version>2.2</version>
<configuration>
<webResources>
<resource>
<directory>${basedir}/src/main/resources/META-INF</directory>
<filtering>true</filtering>
<targetPath>META-INF</targetPath>
<includes>
<include>context.xml</include>
</includes>
</resource>
</webResources>
<archive>
<addMavenDescriptor>false</addMavenDescriptor>
<manifest>
<addDefaultImplementationEntries>true</addDefaultImplementationEntries>
<addClasspath>true</addClasspath>
</manifest>
</archive>
</configuration>
</plugin>
<plugin>
<groupId>net.alchim31.maven</groupId>
<artifactId>yuicompressor-maven-plugin</artifactId>
<version>1.3.0</version>
<executions>
<execution>
<phase>process-resources</phase>
<configuration>
<excludes>
<exclude>**/*</exclude>
</excludes>
<aggregations>
<aggregation>
<output>${project.build.directory}/${project.build.finalName}/js/commons-pack.js</output>
<includes>
<include>${project.build.sourceDirectory}/../webapp/js1.js</include> …
Run Code Online (Sandbox Code Playgroud) 与 eclipse调试远程web应用程序相关 => 如何在我的eclipse中调试远程应用程序
如何在mvn tomcat插件中设置/存档? http://tomcat.apache.org/maven-plugin-2.0-SNAPSHOT/tomcat7-maven-plugin/
唯一可能有用的是设置systemProperty,但这对我不起作用; /
目标:让tomcat通过maven在控制台上运行,但为不同的IDE启用远程调试
(是的,我们可以在Eclipse WTP中运行tomcat!这不是问题;)
经过数周的努力,我发布了这个帖子.我尝试尝试,因为我感到内疚,因为有类似于此的线程.但是我的错误仍然略有不同.所以我所拥有的是一个非常简单的弹簧(当然不需要弹簧bcz问题是maven)应用程序与maven.
这是我的pom的插件部分.
<plugins>
<plugin>
<groupId>org.apache.tomcat.maven</groupId>
<artifactId>tomcat7-maven-plugin</artifactId>
<version>2.0</version>
<configuration>
<url>http://localhost:8080/manager</url>
<username>tomcat</username>
<password>s3cret</password>
<path>/Test</path>
<port>8080</port>
</configuration>
</plugin>
<plugin>
<artifactId>maven-compiler-plugin</artifactId>
<version>2.3.2</version>
<configuration>
<source>1.6</source>
<target>1.6</target>
</configuration>
</plugin>
</plugins>
Run Code Online (Sandbox Code Playgroud)
早些时候我有maven tomcat插件无法使用tomcat 7等问题,但现在用"tomcat7-maven-plugin"解决了.我正在使用' http://localhost:8080/manager
'作为URL.对于这个maven tomcat编译器插件的几乎所有线程都是关于构建失败的.但我的构建成功(我运行tomcat7:deploy).问题是tomcat正在回复
tomcatManager状态码:403,ReasonPhrase:Forbidden
以及我们在浏览器上遇到身份验证失败时看到的html.在我的Linux机器下,相同的代码工作正常.我尝试在settings.xml中使用server元素的不同场景,它位于.m2内部和maven_home/conf等内部.仍然无效.
正如我弄清楚maven无法验证tomcat.找到用户名和密码,我可以使用GUI登录.所以期待在这里提供帮助.
ps - 我的tomcat-users.xml fiel
<role rolename="manager-gui" />
<user username="tomcat" password="s3cret" roles="manager-gui"/>
Run Code Online (Sandbox Code Playgroud)