具有服务器端依赖项的GWT maven项目
我在eclipse下有一个maven 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
- maven 3.0.3李>
- GWT 1.5.3李>
- GWTMaven插件org.codehaus.mojo:GWTMaven插件:1.2(最新版本与GWT1.5.3兼容)
<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>