-
Maven 多模块中 jetty插件热部署设置25
现在我的Maven如下
--all-build
-----core
-----log
-----webapp
all-build 是总的模块。pom类型是pom
core 是核心代码 。pom类型是jar
log 依赖core 。pom类型是jar
webapp 依赖core 和 log ,pom类型是war
要求:
1.jetty可以对webapp进行run,要怎么设置,现在如果我在webapp中增加依赖,他会去我的Nexus私服去download,提示没有该jar,如果只是添加工程依赖,则报类找不到
2.当对core和log任意的module进行修改,都不用重启jetty,实现热部署
分全给了,希望大神们解答详细点啊,本人不才。。。2012年12月19日 10:58
1个答案 按时间排序 按投票排序
-
采纳的答案
simple-parent项目中有一个pom.xml这个xml引用五个子模块
simple-model
simple-weather
simple-persist
simple-webapp
simple-command
simple-model,simple-weather,simple-persist,simple-webapp,simple-command
顶级的pom.xml simple-parent.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/maven-v4_0_0.xsd"> <modelVersion>4.0.0</modelVersion> <groupId>com.sonartype.mavenbook.ch07</groupId> <artifactId>simple-parent</artifactId> <packaging>pom</packaging> <version>1.0</version> <name>Parent Project</name> <modules> <module>simple-command</module> <module>simple-model</module> <module>simple-weather</module> <module>simple-persist</module> <module>simple-webapp</module> </modules> <build> <pluginManagement> <plugins> <plugin> <groupId>com.maven.plugins</groupId> <artifactId>maven-compiler-plugin</artifactId> <version>6.1.7</version> <configuration> <source>1.5</source> <target>1.5</target> </configuration> </plugin> </plugins> </pluginManagement> </build> <dependencies> <dependency> <groupId>junit</groupId> <artifactId>junit</artifactId> <version>3.8.1</version> <scope>test</scope> </dependency> </dependencies> </project>
simple-model 的pom.xml
<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/maven-v4_0_0.xsd"> <modelVersion>4.0.0</modelVersion> <parent> <groupId>com.sonartype.mavenbook.ch07</groupId> <artifactId>simple-parent</artifactId> <version>1.0</version> </parent> <artifactId>simple-model</artifactId> <packaging>jar</packaging> <name>simple object model</name> <dependencies> <dependency> <groupId>org.hibernate</groupId> <artifactId>hibernate-annotations</artifactId> <version>3.3.0.ga</version> <scope>test</scope> </dependency> <dependency> <groupId>org.hibernate</groupId> <artifactId>hibernate-commons-annotations</artifactId> <version>3.3.0.ga</version> <scope>test</scope> </dependency> </dependencies> </project>
simple-weather 的pom.xml
<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/maven-v4_0_0.xsd"> <modelVersion>4.0.0</modelVersion> <parent> <groupId>com.sonartype.mavenbook.ch07</groupId> <artifactId>simple-parent</artifactId> <version>1.0</version> </parent> <artifactId>simple-weather</artifactId> <packaging>jar</packaging> <name>simple-weather</name> <dependencies> <dependency> <groupId>log4j</groupId> <artifactId>log4j</artifactId> <version>1.2.14</version> </dependency> <dependency> <groupId>dom4j</groupId> <artifactId>dom4j</artifactId> <version>1.6.1</version> </dependency> </dependencies> </project>
simple-persist 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/maven-v4_0_0.xsd"> <modelVersion>4.0.0</modelVersion> <parent> <groupId>com.sonartype.mavenbook.ch07</groupId> <artifactId>simple-parent</artifactId> <version>1.0</version> </parent> <artifactId>simple-weather</artifactId> <packaging>jar</packaging> <name>simple-persist</name> <dependencies> <dependency> <groupId>com.sonartype.mavenbook.ch07</groupId> <artifactId>simple-model</artifactId> <version>1.0</version> </dependency> <dependency> <groupId>org.hibernate</groupId> <artifactId>hibernate</artifactId> <version>3.2.5.ga</version> <exclusions> <exclusion> <groupId>javax.transaction</groupId> <artifactId>jta</artifactId> </exclusion> </exclusions> </dependency> <dependency> <groupId>org.hibernate</groupId> <artifactId>hibernate-annotations</artifactId> <version>3.3.0.ga</version> <scope>test</scope> </dependency> <dependency> <groupId>org.hibernate</groupId> <artifactId>hibernate-commons-annotations</artifactId> <version>3.3.0.ga</version> <scope>test</scope> </dependency> <dependency> <groupId>org.apache.geronimo.spece</groupId> <artifactId>geronimo-jta_1.1_spec</artifactId> <version>1.1</version> </dependency> <dependency> <groupId>org.springframework</groupId> <artifactId>spring</artifactId> <version>2.0.7</version> </dependency> </dependencies> </project>
simple-webapp 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/maven-v4_0_0.xsd"> <modelVersion>4.0.0</modelVersion> <parent> <groupId>com.sonartype.mavenbook.ch07</groupId> <artifactId>simple-parent</artifactId> <version>1.0</version> </parent> <artifactId>simple-webapp</artifactId> <packaging>war</packaging> <name>simple-webapp</name> <dependencies> <dependency> <groupId>org.apache.geronimo.spece</groupId> <artifactId>geronimo-jta_1.1_spec</artifactId> <version>1.1</version> </dependency> <dependency> <groupId>com.sonartype.mavenbook.ch07</groupId> <artifactId>simple-weather</artifactId> <version>1.0</version> </dependency> <dependency> <groupId>com.sonartype.mavenbook.ch07</groupId> <artifactId>simple-persist</artifactId> <version>1.0</version> </dependency> <dependency> <groupId>org.hibernate</groupId> <artifactId>hibernate</artifactId> <version>3.2.5.ga</version> <exclusions> <exclusion> <groupId>javax.transaction</groupId> <artifactId>jta</artifactId> </exclusion> </exclusions> </dependency> </dependencies> <build> <finalName>simple-webapp</finalName> <plugins> <plugin> <groupId>org.mortbay.jetty</groupId> <artifactId>maven-jetty-plugin</artifactId> <version>6.1.7</version> <configuration> <scanIntervalSeconds>5</scanIntervalSeconds> <connectors> <connector implementation="org.mortbay.jetty.nio.SelectChannelConnector"> <port>8080</port> <maxIdleTime>60000</maxIdleTime> </connector> </connectors> </configuration> <dependency> <groupId>hsqldb</groupId> <artifactId>hsqldb</artifactId> <version>1.8.0.7</version> </dependency> </plugin> <plugin> <groupId>org.codehaus.mojo</groupId> <artifactId>hibernate3-maven-plugin</artifactId> <version>2.0</version> <configuration> <components> <component> <name>hbm2ddl<name> <implementation>annotationconfiguration</implementation> <component> </components> </configuration> <dependency> <groupId>hsqldb</groupId> <artifactId>hsqldb</artifactId> <version>1.8.0.7</version> </dependency> </plugin> </plugins> </build> </project>
jetty 插件 配置 需要配置在 打成war包的项目中<project> <build> <plugins> <plugin> <groupId>org.mortbay.jetty</groupId> <artifactId>maven-jetty-plugin</artifactId> <version>6.1.7</version> <configuration> <scanIntervalSeconds>5</scanIntervalSeconds> <connectors> <connector implementation="org.mortbay.jetty.nio.SelectChannelConnector"> <port>8080</port> <maxIdleTime>60000</maxIdleTime> </connector> </connectors> </configuration> </plugin> </plugins> </build> </project>
2012年12月19日 11:08
相关推荐
在Maven项目中启用Jetty热部署,主要涉及以下几个关键步骤和知识点: 1. **添加Jetty插件依赖**:首先,在项目的`pom.xml`文件中,我们需要添加Jetty Maven插件的依赖。这可以通过在`<build>`标签内添加`<plugins>`...
在Maven中,一个父项目(Parent POM)可以包含多个子模块(Child Modules),每个子模块都有自己的独立POM文件,这些POM共同构成了项目的构建体系。 1. **创建多模块项目** - 首先,创建一个父POM(parent-pom.xml...
在 Maven 项目中,我们可以使用 Jetty 插件来实现热部署。 知识点 5:Maven 的依赖管理 Maven 项目可以依赖其他项目或 jar 包,通过在 POM 文件中配置依赖关系,Maven 会自动下载和管理依赖项。在本示例中,我们...
应网友要求,重新整理原《eclipse + maven多模块项目框架 + jetty热部署的实例源码》,增加了各配置的详细注释。 并且基于Spring MVC提供了一个完整功能:实现了生成验证码图片,以及验证输入是否匹配的两个接口,...
`maven-jetty-plugin`是Maven的一个插件,它的主要作用是在Maven构建过程中,帮助我们运行和测试基于Servlet的Web应用程序。它允许开发者在开发环境中快速启动Jetty服务器,自动部署项目,并且能够随着代码的修改...
6. **热部署**:除了自动重新加载外,Maven Jetty Plugin还支持类热替换,这意味着在运行时可以更新已加载的类,而无需重启服务器。 7. **与其他Maven插件协同工作**:与其他Maven插件如Surefire、Failsafe等配合...
通过Maven Jetty插件,我们可以轻松地在本地环境中启动和调试应用,同时享受到热部署带来的便利。在"WebApp"目录下,开发者可以组织并管理Web应用的各个组成部分,以便于Maven管理和Jetty运行。
描述虽然为空,但根据标题我们可以推测,内容可能涵盖如何配置Maven的插件,以自动化构建和启动Jetty服务器,以及如何设置开发者友好的工作流程,如热部署和错误调试。 **详细知识点** 1. **Maven基础**:Maven是...
8. **多模块支持**:Jetty插件可以处理多模块的Maven项目,每个模块可以代表一个独立的Web应用,这在大型项目中特别有用。 9. **安全**:Jetty提供了强大的安全特性,如基本认证、SSL/TLS加密、角色基础的访问控制...
当我们在Eclipse中修改HTML、CSS或JavaScript文件后,由于Jetty的热部署特性,这些修改通常会自动反映到正在运行的应用中,无需手动重启服务器。 **3.2 修改类方法后自动生效** 对于Java源代码的修改,如果涉及到...
在Eclipse中使用DEBUG模式运行项目,可以实现热部署和热替换,即在代码或资源文件更改后,无需重启服务器即可立即生效。这极大提高了开发效率和测试速度。 通过以上步骤,可以利用Eclipse集成Maven和Jetty插件快速...
2. **热部署**:当源代码发生变化时,Jetty插件可以自动检测并重新加载修改,实现热部署,提高开发效率。 3. **方便的配置**:通过插件配置文件(如`plugin.xml`),可以定制Jetty服务器的行为,例如设置端口、上...
- 热部署:当检测到Web应用的更新时,Jetty可以自动重新加载更改,无需重启服务器。 总的来说,Jetty作为一款Java Web开发的利器,凭借其轻量级、快速以及丰富的插件支持,为开发者提供了高效且灵活的部署解决方案...
- 通过Maven插件运行Jetty服务器,可以在Eclipse中直接启动项目。 - 在控制台中查看启动日志,确认应用程序是否成功部署。 #### 四、总结 通过以上步骤,我们成功地在Eclipse中集成了Maven和Jetty,这不仅极大地...
"IntelliJ+Maven+Jetty+Jrebel"的组合正是为了解决这一问题,实现Web项目的Java代码更改后能够自动热部署。这个解决方案集成了几个关键工具,包括: 1. **IntelliJ IDEA**: 这是一款强大的Java集成开发环境(IDE)...
插件可能提供一些自定义配置选项,如设置输出目录、上下文路径、是否启用热部署等。具体配置可以根据项目需求进行调整,查阅插件的官方文档以获取详细信息。 **插件源代码分析** 在压缩包文件`jetty-conf-maven-...
6. **热部署**:由于Jetty的热部署特性,当你修改了源代码后,无需重新启动服务器,只需保存更改,Jetty会自动检测并更新应用。 在实际开发过程中,你可能还需要了解如何处理依赖冲突、如何自定义Jetty配置,以及...
除了基本的启动方式,Jetty插件还支持许多高级特性,如热部署(自动检测代码变化并重新加载)、配置自定义服务器端口、添加额外的JAR到类路径等。通过调整`jetty-maven-plugin`的配置,可以满足各种复杂的需求。 ...
2. 配置Maven插件:在pom.xml文件中添加spring-boot-maven-plugin插件,并配置fork=true,以便在热部署时重新编译和重新加载应用程序。 知识点:spring-boot-maven-plugin是Maven插件,提供了Spring Boot应用程序的...