我想有家蚀插再生我的。类路径只要一个建立运行,我这样做是通过使用下列结构:

    <!--
        Generate a new .classpath each time the build is run, but don't try
        to download sources or javadocs
    -->
    <profile>
        <id>elipse-update</id>
        <activation>
            <file>
                <exists>.classpath</exists>
            </file>
        </activation>
        <build>
            <plugins>
                <plugin>
                    <artifactId>maven-eclipse-plugin</artifactId>
                    <executions>
                        <execution>
                            <phase>generate-sources</phase>
                            <goals>
                                <goal>eclipse</goal>
                            </goals>
                            <configuration>
                                <downloadSources>false</downloadSources>
                                <downloadJavadocs>false</downloadJavadocs>
                            </configuration>
                        </execution>
                    </executions>
                </plugin>
            </plugins>
        </build>
    </profile>

由于某些原因,这导致家的码头插件失败ClassNotFoundException错误(它抱怨关于各种各样的弹簧类不在那里)。当然,它的工作没有击中时我没有家蚀插件安装。这里是一个例子,我说的:

$ mvn jetty:run
[INFO] Scanning for projects...
...
[INFO] Starting jetty 6.1.22 ...
2010-02-11 20:53:08.984:INFO::jetty-6.1.22
2010-02-11 20:53:09.109:WARN::Could not instantiate listener org.springframework.web.context.ContextLoaderListener
java.lang.ClassNotFoundException: org.springframework.web.context.ContextLoaderListener
        at java.net.URLClassLoader$1.run(URLClassLoader.java:200)
        at java.security.AccessController.doPrivileged(Native Method)
        at java.net.URLClassLoader.findClass(URLClassLoader.java:188)
        at java.lang.ClassLoader.loadClass(ClassLoader.java:306)
        at org.codehaus.classworlds.RealmClassLoader.loadClassDirect(RealmClassLoader.java:195)
        at org.codehaus.classworlds.DefaultClassRealm.loadClass(DefaultClassRealm.java:255)
        at org.codehaus.classworlds.DefaultClassRealm.loadClass(DefaultClassRealm.java:274)
        at org.codehaus.classworlds.RealmClassLoader.loadClass(RealmClassLoader.java:214)
        at java.lang.ClassLoader.loadClass(ClassLoader.java:251)

当然,如果删除这蚀插件部分,我可以跑码头的预期:

$ mvn jetty:run
[INFO] Scanning for projects...
...
Feb 11, 2010 8:55:28 PM org.springframework.web.context.ContextLoader initWebApplicationContext
INFO: Root WebApplicationContext: initialization completed in 1672 ms
2010-02-11 20:55:28.687:INFO::Started SelectChannelConnector@0.0.0.0:8080
[INFO] Started Jetty Server
[INFO] Starting scanner at interval of 5 seconds.

有些事我知道:

  • 是的,我只是激活这一简介如果.类路径中是存在的。这似乎是反直觉的,但我有一个原因:我有另一个激活的时候。类路径是不存在运行的日食插件与选项供下载源代码和javadocs设置为真实的。我不希望发生这种情况的每个建立,所以我创造了一个单独的插件的配置时的类路径已经存在。
  • 是的,我可以简单地建立性,保持价值的选择我要改变,而不是指定的整个插件的配置。在这种情况下,我将只是设定一个日食。downloadSources财产的真实或虚假取决于存在类路径,并有一个单一的定义插件常规建造的部分。

任何建议?这是一个奇怪的问题。

谢谢, LES

有帮助吗?

解决方案

我怀疑家蚀插件 烂摊子 做一些类路径woodo,影响到码头插件之后。

但说实话,这不是一个很常见的方式使用的日食插件,至少不是我的知识。大多数人没有包括在他们建造的,他们只是运行它当POM已经改变,这通常不会发生的每一个建设。此外,触及的 .classpath 混淆了日食,如果我记得很清楚,部队的一个干净的重建项目,这是非常令人讨厌。

因此,在结束了,我很抱歉,这似乎引入更多的烦恼比的好处。你可以尝试打开一个 Jira问题 虽然。

其他提示

你真的不想运行家-月食件上的每一个建立当有一个.类路径。我不能告诉你到底是什么它不会对类路径,但这不是它是如何用来使用。所作的假定是,当你碰它,你只有运行蚀:蚀(或一些其他的目标)。

为什么你想保留的重新运行?

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top