由于"否定寻求偏移" Cargo Maven插件无法下载和解压缩Jetty zip

时间:2015-05-14 15:46:13

标签: java maven jetty maven-cargo

  1. 运行集成测试时遇到以下错误:

    Failed to execute goal org.codehaus.cargo:cargo-maven2- 
    plugin:1.1.3:start (start-container) on project <project-name>:
    Execution start-container of goal org.codehaus.cargo:cargo-maven2-
    plugin:1.1.3:start failed: Error while expanding 
    <project>/target/downloads/jetty-6.1.26.zip
    [ERROR] java.io.IOException: Negative seek offset
    
  2. 虽然,如果我只是做mvn jetty:run,它确实会启动服务器。 有没有人面临类似的问题,你是如何解决的?

    这是我的配置:

        <plugin>
                <!-- http://cargo.codehaus.org/Maven2+Plugin+Reference+Guide -->
                <groupId>org.codehaus.cargo</groupId>
                <artifactId>cargo-maven2-plugin</artifactId>
                <version>1.1.3</version>
                <executions>
                    <execution>
                        <id>start-container</id>
                        <phase>pre-integration-test</phase>
                        <goals>
                            <goal>start</goal>
                        </goals>
                    </execution>
                    <execution>
                        <id>stop-container</id>
                        <phase>post-integration-test</phase>
                        <goals>
                            <goal>stop</goal>
                        </goals>
                    </execution>
                </executions>
                <configuration>
                    <wait>false</wait>
                    <container>
                        <containerId>jetty6x</containerId>
                        <!-- The 'embedded' container does not seem to support 
                            setting JNDI values through a jetty-env.xml file, see http://jira.codehaus.org/browse/CARGO-861 
                            and http://jira.codehaus.org/browse/CARGO-862 for more information. For now, 
                            we'll use the 'installed' container which works fine, it is just slightly 
                            slower than the embedded version since it is a large distribution (25 mb) 
                            that must be downloaded. -->
                        <type>installed</type>
                        <zipUrlInstaller>
                            <url>http://dist.codehaus.org/jetty/jetty-6.1.26/jetty-6.1.26.zip</url>
                            <downloadDir>${project.build.directory}/downloads</downloadDir>
                            <extractDir>${project.build.directory}/extracts</extractDir>
                        </zipUrlInstaller>
                        <systemProperties>
                            <java.io.tmpdir>target/tmp</java.io.tmpdir>
                            <!-- These "jetty6.*" system properties are used 
                                to set values in the jetty-env.xml file. -->
                            <jetty6.context>Project-NAME</jetty6.context>
                            <jetty6.warFile>${project.build.directory}/project-war.war</jetty6.warFile>
                        </systemProperties>
                        <output>${project.build.directory}/cargo-container.log</output>
                        <log>${project.build.directory}/cargo.log</log>
                        <dependencies>
                            <dependency>
                                <location>${project.basedir}/src/test/keystores/sun/${keystoreType}</location>
                            </dependency>
                            <dependency>
                                <groupId>com.oracle</groupId>
                                <artifactId>ojdbc6</artifactId>
                            </dependency>
                        </dependencies>
                    </container>
                    <configuration>
                        <home>${project.build.directory}/jetty6x/container</home>
                        <!-- See http://cargo.codehaus.org/Configuration+properties 
                            for possible properties. -->
                        <properties>
                            <cargo.servlet.port>9090</cargo.servlet.port>
                            <cargo.logging>low</cargo.logging>
                            <!-- Enable to debug the server, see http://cargo.codehaus.org/Debugging 
                                for more information. -->
                           <!--  <cargo.jvmargs> -Xdebug -Xrunjdwp:transport=dt_socket,server=y,suspend=n,address=8888 
                                -Xnoagent -Djava.compiler=NONE </cargo.jvmargs> -->
                        </properties>
                        <configfiles>
                            <configfile>
                                <file>${project.basedir}/src/test/keystores/sun/${keystoreType}/jetty-env.xml</file>
                                <todir>contexts</todir>
                                <tofile>project-Name.xml</tofile>
                            </configfile>
                        </configfiles>
                        <deployables>
                            <deployable>
                                <groupId><project-NAME></groupId>
                                <artifactId>project-war</artifactId>
                                <type>war</type>
                                <properties>
                                    <context>project-Name</context>
                                </properties>
                            </deployable>
                        </deployables>
                    </configuration>
                </configuration>
            </plugin>
    
    1. 我知道codehaus正在下降,最终将不得不更新。有什么建议可以作为轻量级服务器来部署战争并作为客户端运行集成测试吗?

1 个答案:

答案 0 :(得分:1)

根本原因:

Codehaus.org是一个死网站。它将于2015年5月17日100%离线。

  

现在是结束Codehaus时代的时候了。

     

所有Codehaus服务将逐步终止,直至5月17日   2015

     

随着Github等开源托管平台的多样化   和Bitbucket--谁满足了1000多个项目的需求 - 它   结束Codehaus的开源托管服务是有意义的。

     

Codehaus已经亏本运营了好几年了(我们不是   由风险投资提供动力),并不能与军队竞争   现在司空见惯的开发人员和集成产品。

     

该平台将于2015年2月底终止   SonarQube慷慨地赞助Codehaus赞助了几个月   帮助过渡。

您对dist.codehaus.org的访问权限失败。

<url>http://dist.codehaus.org/jetty/jetty-6.1.26/jetty-6.1.26.zip</url>

其他重要提示:

  • 自版本1.1.3以来已发布25个cargo-maven2-plugin版本,请考虑升级。
  • Cargo也离开了codehaus,现在在codehaus-cargo.github.io找到它们。
  • 截至2010年,不要使用Jetty 6,它的EOL(生命终结)。
  • dist.codehaus.org上托管的Jetty 5和Jetty 6二进制文件不会有替换下载位置。
  • 请勿使用Jetty 7 or Jetty 8 either, those are EOL as of 2014
  • Jetty 9是目前唯一稳定且受支持的Jetty系列(2015年5月)。