0 0

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,实现热部署

分全给了,希望大神们解答详细点啊,本人不才。。。

1个答案 按时间排序 按投票排序

0 0

采纳的答案

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 启动热部署

    在Maven项目中启用Jetty热部署,主要涉及以下几个关键步骤和知识点: 1. **添加Jetty插件依赖**:首先,在项目的`pom.xml`文件中,我们需要添加Jetty Maven插件的依赖。这可以通过在`&lt;build&gt;`标签内添加`&lt;plugins&gt;`...

    maven多模块项目+jetty热部署实例源码

    在Maven中,一个父项目(Parent POM)可以包含多个子模块(Child Modules),每个子模块都有自己的独立POM文件,这些POM共同构成了项目的构建体系。 1. **创建多模块项目** - 首先,创建一个父POM(parent-pom.xml...

    Intellij IDEA下建立maven管理的web项目,配置jetty热部署

    在 Maven 项目中,我们可以使用 Jetty 插件来实现热部署。 知识点 5:Maven 的依赖管理 Maven 项目可以依赖其他项目或 jar 包,通过在 POM 文件中配置依赖关系,Maven 会自动下载和管理依赖项。在本示例中,我们...

    eclipse + maven多模块项目 + SpringMVC + jetty热部署实现验证码图片实例源码

    应网友要求,重新整理原《eclipse + maven多模块项目框架 + jetty热部署的实例源码》,增加了各配置的详细注释。 并且基于Spring MVC提供了一个完整功能:实现了生成验证码图片,以及验证输入是否匹配的两个接口,...

    maven集成jetty所需jar包maven-jetty-plugin,多版本

    `maven-jetty-plugin`是Maven的一个插件,它的主要作用是在Maven构建过程中,帮助我们运行和测试基于Servlet的Web应用程序。它允许开发者在开发环境中快速启动Jetty服务器,自动部署项目,并且能够随着代码的修改...

    maven-jetty-plugin

    6. **热部署**:除了自动重新加载外,Maven Jetty Plugin还支持类热替换,这意味着在运行时可以更新已加载的类,而无需重启服务器。 7. **与其他Maven插件协同工作**:与其他Maven插件如Surefire、Failsafe等配合...

    maven jetty

    通过Maven Jetty插件,我们可以轻松地在本地环境中启动和调试应用,同时享受到热部署带来的便利。在"WebApp"目录下,开发者可以组织并管理Web应用的各个组成部分,以便于Maven管理和Jetty运行。

    maven工程在Jetty服务器上的自动化部署(开发者模式)

    描述虽然为空,但根据标题我们可以推测,内容可能涵盖如何配置Maven的插件,以自动化构建和启动Jetty服务器,以及如何设置开发者友好的工作流程,如热部署和错误调试。 **详细知识点** 1. **Maven基础**:Maven是...

    jetty插件包

    8. **多模块支持**:Jetty插件可以处理多模块的Maven项目,每个模块可以代表一个独立的Web应用,这在大型项目中特别有用。 9. **安全**:Jetty提供了强大的安全特性,如基本认证、SSL/TLS加密、角色基础的访问控制...

    Maven下使用Jetty进行Debug

    当我们在Eclipse中修改HTML、CSS或JavaScript文件后,由于Jetty的热部署特性,这些修改通常会自动反映到正在运行的应用中,无需手动重启服务器。 **3.2 修改类方法后自动生效** 对于Java源代码的修改,如果涉及到...

    Eclipse+_maven_+_jetty_开发web

    在Eclipse中使用DEBUG模式运行项目,可以实现热部署和热替换,即在代码或资源文件更改后,无需重启服务器即可立即生效。这极大提高了开发效率和测试速度。 通过以上步骤,可以利用Eclipse集成Maven和Jetty插件快速...

    jetty 插件

    2. **热部署**:当源代码发生变化时,Jetty插件可以自动检测并重新加载修改,实现热部署,提高开发效率。 3. **方便的配置**:通过插件配置文件(如`plugin.xml`),可以定制Jetty服务器的行为,例如设置端口、上...

    java web开发部署神器--jetty插件

    - 热部署:当检测到Web应用的更新时,Jetty可以自动重新加载更改,无需重启服务器。 总的来说,Jetty作为一款Java Web开发的利器,凭借其轻量级、快速以及丰富的插件支持,为开发者提供了高效且灵活的部署解决方案...

    IntelliJ+Maven+Jetty+Jrebel实现web项目java代码更改后热部署

    "IntelliJ+Maven+Jetty+Jrebel"的组合正是为了解决这一问题,实现Web项目的Java代码更改后能够自动热部署。这个解决方案集成了几个关键工具,包括: 1. **IntelliJ IDEA**: 这是一款强大的Java集成开发环境(IDE)...

    jetty-conf-maven-plugin-1.0.zip

    插件可能提供一些自定义配置选项,如设置输出目录、上下文路径、是否启用热部署等。具体配置可以根据项目需求进行调整,查阅插件的官方文档以获取详细信息。 **插件源代码分析** 在压缩包文件`jetty-conf-maven-...

    Netbeans jetty maven项目调试配置

    6. **热部署**:由于Jetty的热部署特性,当你修改了源代码后,无需重新启动服务器,只需保存更改,Jetty会自动检测并更新应用。 在实际开发过程中,你可能还需要了解如何处理依赖冲突、如何自定义Jetty配置,以及...

    jetty启动的maven web项目

    除了基本的启动方式,Jetty插件还支持许多高级特性,如热部署(自动检测代码变化并重新加载)、配置自定义服务器端口、添加额外的JAR到类路径等。通过调整`jetty-maven-plugin`的配置,可以满足各种复杂的需求。 ...

    IntelliJ+Maven+Jetty+Jrebel

    在提供的文档“IntelliJ+Maven+Jetty+Jrebel实现web项目java代码更改后热部署.docx”中,可能会详细介绍每个步骤的详细操作和可能遇到的问题。而“JRebel for IntelliJ IDEA”相关的网页文件可能是官方文档或教程,...

Global site tag (gtag.js) - Google Analytics