具有服务器端依赖项的GWT maven项目

具有服务器端依赖项的GWT maven项目,gwt,maven,jasper-reports,conflict,Gwt,Maven,Jasper Reports,Conflict,我在eclipse下有一个maven GWT项目,由于我添加了一些服务器端依赖项,maven插件不再编译。以下是有关上下文的更多信息: maven 3.0.3 GWT 1.5.3 GWTMaven插件org.codehaus.mojo:GWTMaven插件:1.2(最新版本与GWT1.5.3兼容) 如果不添加gwt以外的依赖项,gwt maven插件的目标gwt:compile将成功完成: <dependency> <groupId>com.google.gw

我在eclipse下有一个maven GWT项目,由于我添加了一些服务器端依赖项,maven插件不再编译。以下是有关上下文的更多信息:

  • maven 3.0.3
  • GWT 1.5.3
  • GWTMaven插件org.codehaus.mojo:GWTMaven插件:1.2(最新版本与GWT1.5.3兼容)
如果不添加gwt以外的依赖项,gwt maven插件的目标gwt:compile将成功完成:

<dependency>
    <groupId>com.google.gwt</groupId>
    <artifactId>gwt-servlet</artifactId>
    <version>${gwt.version}</version>
    <scope>compile</scope>
</dependency>
<dependency>
    <groupId>com.google.gwt</groupId>
    <artifactId>gwt-user</artifactId>
    <version>${gwt.version}</version>
    <scope>provided</scope>
</dependency>

com.google.gwt
gwt servlet
${gwt.version}
编译
com.google.gwt
gwt用户
${gwt.version}
假如
当我添加任何其他依赖项时,目标gwt:compile失败:

[INFO] establishing classpath list (scope = compile)
[ERROR] Exception in thread "main" java.lang.NoSuchMethodError: org.eclipse.jdt.internal.compiler.Compiler.<init>(Lorg/eclipse/jdt/internal/compiler/env/INameEnvironment;Lorg/eclipse/jdt/internal/compiler/IErrorHandlingPolicy;Lorg/eclipse/jdt/internal/compiler/impl/CompilerOptions;Lorg/eclipse/jdt/internal/compiler/ICompilerRequestor;Lorg/eclipse/jdt/internal/compiler/IProblemFactory;)V
[ERROR]     at com.google.gwt.dev.javac.JdtCompiler$CompilerImpl.<init>(JdtCompiler.java:93)
[ERROR]     at com.google.gwt.dev.javac.JdtCompiler.<init>(JdtCompiler.java:231)
[ERROR]     at com.google.gwt.dev.javac.JdtCompiler.compile(JdtCompiler.java:193)
[ERROR]     at com.google.gwt.dev.javac.CompilationState.compile(CompilationState.java:115)
[ERROR]     at com.google.gwt.dev.GWTCompiler.distill(GWTCompiler.java:327)
[ERROR]     at com.google.gwt.dev.GWTCompiler.run(GWTCompiler.java:564)
[ERROR]     at com.google.gwt.dev.GWTCompiler.run(GWTCompiler.java:554)
[ERROR]     at com.google.gwt.dev.GWTCompiler.main(GWTCompiler.java:214)
[INFO]建立类路径列表(scope=compile)
[错误]线程“main”java.lang.NoSuchMethodError中出现异常:org.eclipse.jdt.internal.compiler.compiler。(Lorg/eclipse/jdt/internal/compiler/env/INameEnvironment;Lorg/eclipse/jdt/internal/compiler/IErrorHandlingPolicy;Lorg/eclipse/jdt/internal/compiler/impl/compiler选项;Lorg/eclipse/jdt/internal/compiler/iprobleFactory;)V
[错误]位于com.google.gwt.dev.javac.JdtCompiler$CompilerImpl。(JdtCompiler.java:93)
[错误]位于com.google.gwt.dev.javac.JdtCompiler。(JdtCompiler.java:231)
[错误]位于com.google.gwt.dev.javac.JdtCompiler.compile(JdtCompiler.java:193)
[错误]位于com.google.gwt.dev.javac.CompilationState.compile(CompilationState.java:115)
[错误]位于com.google.gwt.dev.GWTCompiler.divert(GWTCompiler.java:327)
[错误]位于com.google.gwt.dev.GWTCompiler.run(GWTCompiler.java:564)
[错误]位于com.google.gwt.dev.GWTCompiler.run(GWTCompiler.java:554)
[错误]位于com.google.gwt.dev.GWTCompiler.main(GWTCompiler.java:214)
我确实在gwt:compile中搜索了一个关于类路径/依赖项的配置参数(http://mojo.codehaus.org/gwt-maven-plugin-1.2/compile-mojo.html)没有成功

我想使用服务器端的依赖性来告诉GWT插件不考虑非GWT依赖性。


正在工作的pom(gwt:compile成功完成):


4.0.0
mygroupid
项目名称
战争
1.0-快照
项目名称
我的公司
我的公司网址
1.5.3
姓
org.apache.maven.plugins
maven编译器插件
1.5
1.5
UTF-8
2.5.1
org.apache.maven.plugins
maven eclipse插件
没有一个
2.9
org.codehaus.mojo
GWTMaven插件
1.2
编译
org.mycompany.myproject.Main/welcomeGWT.html
org.apache.maven.plugins
maven战争插件
2.2
战争
src/main/webapp/WEB-INF/WEB.xml
com.google.gwt
gwt servlet
${gwt.version}
编译
com.google.gwt
gwt用户
${gwt.version}
假如
pom不工作(gwt:compile抛出异常):


4.0.0
mygroupid
项目名称
战争
1.0-快照
项目名称
我的公司
我的公司网址
1.5.3
姓
org.apache.maven.plugins
maven编译器插件
1.5
1.5
UTF-8
2.5.1
org.apache.maven.plugins
maven eclipse插件
没有一个
2.9
org.codehaus.mojo
GWTMaven插件
1.2
编译
org.mycompany.myproject.Main/welcomeGWT.html
org.apache.maven.plugins
maven战争插件
2.2
战争
src/main/webapp/WEB-INF/WEB.xml
org.apache.ibatis
iBATISsqlmap
2.3.4.726
net.sf.jasperreports
jasperreports
3.6.0
com.google.gwt
gwt servlet
${gwt.version}
编译
com.google.gwt
gwt用户
${gwt.version}
假如

您在我们的项目中使用JasperReport吗?我记得在使用JasperReport和GWT时遇到了问题。JasperReport包含的
org.eclipse.jdt.internal.compiler.compiler
版本与GWT预期的版本不同

我认为您可以通过简单地更改类路径的顺序(注释中已经建议)来解决这个问题。如果这没有帮助,请尝试更新您的GWT版本。或者尝试查找包含与GWT一起使用的
org.eclipse.jdt.internal.compiler.Compile
类的JasperReport版本。

您是否正在使用
<?xml version="1.0" encoding="UTF-8"?>
<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>mygroupid</groupId>
    <artifactId>projectname</artifactId>
    <packaging>war</packaging>
    <version>1.0-SNAPSHOT</version>
    <name>project name</name>

    <organization>
        <name>My company</name>
        <url>my company url</url>
    </organization>

    <properties>
        <gwt.version>1.5.3</gwt.version>
    </properties>

    <build>
        <finalName>final name</finalName>

        <plugins>
            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-compiler-plugin</artifactId>
                <configuration>
                    <source>1.5</source>
                    <target>1.5</target>
                    <encoding>UTF-8</encoding>
                </configuration>
                <version>2.5.1</version>
            </plugin>

            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-eclipse-plugin</artifactId>
                <configuration>
                    <ajdtVersion>none</ajdtVersion>
                </configuration>
                <version>2.9</version>
            </plugin>

            <plugin>
                <groupId>org.codehaus.mojo</groupId>
                <artifactId>gwt-maven-plugin</artifactId>
                <version>1.2</version>
                <executions>
                    <execution>
                        <goals>
                            <goal>compile</goal>
                        </goals>
                    </execution>
                </executions>
                <configuration>
                    <runTarget>org.mycompany.myproject.Main/welcomeGWT.html</runTarget>
                </configuration>
            </plugin>

            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-war-plugin</artifactId>
                <version>2.2</version>
                <configuration>
                    <warSourceDirectory>war</warSourceDirectory>
                    <webXml>src/main/webapp/WEB-INF/web.xml</webXml>
                </configuration>
            </plugin>
        </plugins>
    </build>

    <dependencies>
        <!-- GWT -->
        <dependency>
            <groupId>com.google.gwt</groupId>
            <artifactId>gwt-servlet</artifactId>
            <version>${gwt.version}</version>
            <scope>compile</scope>
        </dependency>
        <dependency>
            <groupId>com.google.gwt</groupId>
            <artifactId>gwt-user</artifactId>
            <version>${gwt.version}</version>
            <scope>provided</scope>
        </dependency>
    </dependencies>
</project>
 <?xml version="1.0" encoding="UTF-8"?>
 <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>mygroupid</groupId>
    <artifactId>projectname</artifactId>
    <packaging>war</packaging>
    <version>1.0-SNAPSHOT</version>
    <name>project name</name>

    <organization>
        <name>My company</name>
        <url>my company url</url>
    </organization>

    <properties>
        <gwt.version>1.5.3</gwt.version>
    </properties>

    <build>
        <finalName>final name</finalName>

        <plugins>
            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-compiler-plugin</artifactId>
                <configuration>
                    <source>1.5</source>
                    <target>1.5</target>
                    <encoding>UTF-8</encoding>
                </configuration>
                <version>2.5.1</version>
            </plugin>

            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-eclipse-plugin</artifactId>
                <configuration>
                    <ajdtVersion>none</ajdtVersion>
                </configuration>
                <version>2.9</version>
            </plugin>

            <plugin>
                <groupId>org.codehaus.mojo</groupId>
                <artifactId>gwt-maven-plugin</artifactId>
                <version>1.2</version>
                <executions>
                    <execution>
                        <goals>
                            <goal>compile</goal>
                        </goals>
                    </execution>
                </executions>
                <configuration>
                    <runTarget>org.mycompany.myproject.Main/welcomeGWT.html</runTarget>
                </configuration>
            </plugin>

            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-war-plugin</artifactId>
                <version>2.2</version>
                <configuration>
                    <warSourceDirectory>war</warSourceDirectory>
                    <webXml>src/main/webapp/WEB-INF/web.xml</webXml>
                </configuration>
            </plugin>
        </plugins>
    </build>

    <dependencies>
        <dependency>
            <groupId>org.apache.ibatis</groupId>
            <artifactId>ibatis-sqlmap</artifactId>
            <version>2.3.4.726</version>
        </dependency>
        <dependency>
            <groupId>net.sf.jasperreports</groupId>
            <artifactId>jasperreports</artifactId>
            <version>3.6.0</version>
        </dependency>



        <!-- GWT -->
        <dependency>
            <groupId>com.google.gwt</groupId>
            <artifactId>gwt-servlet</artifactId>
            <version>${gwt.version}</version>
            <scope>compile</scope>
        </dependency>
        <dependency>
            <groupId>com.google.gwt</groupId>
            <artifactId>gwt-user</artifactId>
            <version>${gwt.version}</version>
            <scope>provided</scope>
        </dependency>
    </dependencies>
 </project>
    <dependency>
        <groupId>org.drools</groupId>
        <artifactId>drools-compiler</artifactId>
        <version>6.3.0.Final</version>
    </dependency>       
    <dependency>
        <groupId>net.sourceforge.dynamicreports</groupId>
        <artifactId>dynamicreports-core</artifactId>
        <version>3.1.3</version>
    </dependency>
    <dependency>
        <groupId>net.sourceforge.dynamicreports</groupId>
        <artifactId>dynamicreports-core</artifactId>
        <version>4.1.0</version>
    </dependency>