最近、Vaadin 7をVaadin 8に更新しました。このコンポーネントの1つが機能していなかったため、今日問題を分析したところ、Vaadin 7 、およびミスマッチを有する。そこでコンポーネントをVaadin 8に更新しましたが(現在はまだすべて.v7
ライブラリを使用していますが、@Widgetset("com.vaadin.v7.Vaadin7WidgetSet")
をUIクラスに追加し、vaadin-compatibility-client-compiled
の依存関係を追加しました)
このコンポーネントのテストWARはそのままです私はこの新しいバージョンをNexusに配備しました(Vaadin 7とViritinのすべてのコンポーネントをVaadin 8に実際に更新するためにTODOを使用しています)。Vaadin Widgetset.gwt.xml継承タグがコンパイル時に自動的に削除される
私たちのメインプロジェクトpom.xml
のバージョンを更新しましたが、これを実行する前に同じエラーが発生しました。これは、コンポーネントのUIクラスに@Widgetset
を追加したものです。 com.vaadin.v7.Vaadin7WidgetSet
として<inherits>
をこのWidgetset.gwt.xml
私たちのメインプロジェクトのファイルですが、私が行って保存すると、いくつかのMavenプラグインが自動的にそれを元のものにリセットします。
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE module PUBLIC "-//Google Inc.//DTD Google Web Toolkit 2.5.1//EN"
"http://google-web-toolkit.googlecode.com/svn/tags/2.5.1/distro-source/core/src/gwt-module.dtd">
<module>
<inherits name="com.vaadin.DefaultWidgetSet" />
<stylesheet src="resetbuttonfortextfield/styles.css" />
</module>
そして、私はこれらの2行を追加しようとすると::
<!-- TODO: Remove following inherit after Templates Component has been migrated to Vaadin 8 -->
<inherits name="com.vaadin.v7.Vaadin7WidgetSet" />
のみTODO-コメントを保存した後に残る
は、これが私たちのWidgetset.gwt.xml
が現在のように見えるものです。このプロジェクトの私の同僚は、すべて今、夕方の世界の反対側に住んでいるので、私は本当に助けを求めることができないので、私は代わりにStackOverflowを利用します。ここで
は、参照として私たちのpom.xml
ある、と私は何かがここで私はそれを保存した後Widgetset.gwt.xml
がリセットされますと思う:
<?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/xsd/maven-4.0.0.xsd">
<parent>
<groupId>our.project</groupId>
<artifactId>web-parent</artifactId>
<version>develop-SNAPSHOT</version>
</parent>
<modelVersion>4.0.0</modelVersion>
<artifactId>web2-widgetset</artifactId>
<name>web2-widgetset</name>
<packaging>jar</packaging>
<dependencies>
<!-- Versions for these are configured in the parent POM -->
<dependency>
<groupId>com.vaadin</groupId>
<artifactId>vaadin-server</artifactId>
</dependency>
<dependency>
<groupId>com.vaadin</groupId>
<artifactId>vaadin-client</artifactId>
<scope>provided</scope>
</dependency>
<dependency>
<groupId>com.vaadin</groupId>
<artifactId>vaadin-client-compiler</artifactId>
<scope>provided</scope>
</dependency>
</dependencies>
<build>
<plugins>
<plugin>
<groupId>com.vaadin</groupId>
<artifactId>vaadin-maven-plugin</artifactId>
<configuration>
<extraJvmArgs>-Xmx1024M -Xss2048k</extraJvmArgs>
<webappDirectory>${basedir}/target/classes/VAADIN/widgetsets</webappDirectory>
<draftCompile>true</draftCompile>
<compileReport>false</compileReport>
<!-- Change to PRETTY (or possibly DETAILED) to get unobfuscated client side stack traces. A better approach for debugging is to use Super Dev Mode -->
<style>OBF</style>
<strict>true</strict>
</configuration>
<executions>
<execution>
<goals>
<goal>update-widgetset</goal>
<goal>compile</goal>
</goals>
</execution>
</executions>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-source-plugin</artifactId>
<executions>
<execution>
<goals>
<goal>jar</goal>
</goals>
</execution>
</executions>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-jar-plugin</artifactId>
<configuration>
<archive>
<manifestEntries>
<Vaadin-Package-Version>1</Vaadin-Package-Version>
<Vaadin-Widgetsets>our.project.Widgetset</Vaadin-Widgetsets>
</manifestEntries>
</archive>
<!-- Exclude some unnecessary files generated by the GWT compiler. -->
<excludes>
<exclude>VAADIN/gwt-unitCache/**</exclude>
<exclude>VAADIN/widgetsets/WEB-INF/**</exclude>
</excludes>
</configuration>
</plugin>
</plugins>
</build>
</project>
私は<goal>update-widgetset</goal>
でvaadin-maven-plugin
を仮定している中で、私の<inherits>
- タグを除去するために責任がありますWidgetset.gwt.xml
ですが、私は完全にはわかりません。私は一般的にMavenにはまだ比較的新しいです。
もし私が正しいとすれば、pom.xml
をどのように変更すればいいですか?<inherits>
タグが必要ですか?
TL; DR:がどのように永続的に(私たちのMaven pom.xml
でいくつかのプラグインはこれらの手動変更を上書きすることなく)私のWidgetset.gwt.xml
に追加<inherits>
- タグを追加するには?
編集:私はWidgetset.gwt.xml
はもう更新されない<goal>update-widgetset</goal>
をコメントアウトが、それはpom.xml
にエラーを与えている場合:すでにの右方向への大きな一歩である
GWT Module com.vaadin.v7.Vaadin7WidgetSet not found in project sources or resources. (com.vaadin:vaadin-maven-plugin:8.0.6:compile:default:process-classes)
org.apache.maven.plugin.MojoExecutionException: GWT Module com.vaadin.v7.Vaadin7WidgetSet not found in project sources or resources.
at org.codehaus.mojo.gwt.shell.CompileMojo.compilationRequired(CompileMojo.java:701)
at org.codehaus.mojo.gwt.shell.CompileMojo.compile(CompileMojo.java:567)
at org.codehaus.mojo.gwt.shell.CompileMojo.doExecute(CompileMojo.java:435)
at org.codehaus.mojo.gwt.shell.AbstractGwtShellMojo.execute(AbstractGwtShellMojo.java:182)
at org.apache.maven.plugin.DefaultBuildPluginManager.executeMojo(DefaultBuildPluginManager.java:134)
at org.eclipse.m2e.core.internal.embedder.MavenImpl.execute(MavenImpl.java:331)
at org.eclipse.m2e.core.internal.embedder.MavenImpl$11.call(MavenImpl.java:1362)
at org.eclipse.m2e.core.internal.embedder.MavenImpl$11.call(MavenImpl.java:1)
at org.eclipse.m2e.core.internal.embedder.MavenExecutionContext.executeBare(MavenExecutionContext.java:176)
at org.eclipse.m2e.core.internal.embedder.MavenExecutionContext.execute(MavenExecutionContext.java:112)
at org.eclipse.m2e.core.internal.embedder.MavenImpl.execute(MavenImpl.java:1360)
at org.eclipse.m2e.core.project.configurator.MojoExecutionBuildParticipant.build(MojoExecutionBuildParticipant.java:52)
at com.vaadin.integration.eclipse.maven.VaadinMojoExecutionBuildParticipant.build(VaadinMojoExecutionBuildParticipant.java:87)
at org.eclipse.m2e.core.internal.builder.MavenBuilderImpl.build(MavenBuilderImpl.java:137)
at org.eclipse.m2e.core.internal.builder.MavenBuilder$1.method(MavenBuilder.java:172)
at org.eclipse.m2e.core.internal.builder.MavenBuilder$1.method(MavenBuilder.java:1)
at org.eclipse.m2e.core.internal.builder.MavenBuilder$BuildMethod$1$1.call(MavenBuilder.java:115)
at org.eclipse.m2e.core.internal.embedder.MavenExecutionContext.executeBare(MavenExecutionContext.java:176)
at org.eclipse.m2e.core.internal.embedder.MavenExecutionContext.execute(MavenExecutionContext.java:112)
at org.eclipse.m2e.core.internal.builder.MavenBuilder$BuildMethod$1.call(MavenBuilder.java:105)
at org.eclipse.m2e.core.internal.embedder.MavenExecutionContext.executeBare(MavenExecutionContext.java:176)
at org.eclipse.m2e.core.internal.embedder.MavenExecutionContext.execute(MavenExecutionContext.java:151)
at org.eclipse.m2e.core.internal.embedder.MavenExecutionContext.execute(MavenExecutionContext.java:99)
at org.eclipse.m2e.core.internal.builder.MavenBuilder$BuildMethod.execute(MavenBuilder.java:86)
at org.eclipse.m2e.core.internal.builder.MavenBuilder.build(MavenBuilder.java:200)
at org.eclipse.core.internal.events.BuildManager$2.run(BuildManager.java:734)
at org.eclipse.core.runtime.SafeRunner.run(SafeRunner.java:42)
at org.eclipse.core.internal.events.BuildManager.basicBuild(BuildManager.java:205)
at org.eclipse.core.internal.events.BuildManager.basicBuild(BuildManager.java:245)
at org.eclipse.core.internal.events.BuildManager$1.run(BuildManager.java:300)
at org.eclipse.core.runtime.SafeRunner.run(SafeRunner.java:42)
at org.eclipse.core.internal.events.BuildManager.basicBuild(BuildManager.java:303)
at org.eclipse.core.internal.events.BuildManager.basicBuildLoop(BuildManager.java:359)
at org.eclipse.core.internal.events.BuildManager.build(BuildManager.java:382)
at org.eclipse.core.internal.events.AutoBuildJob.doBuild(AutoBuildJob.java:144)
at org.eclipse.core.internal.events.AutoBuildJob.run(AutoBuildJob.java:235)
at org.eclipse.core.internal.jobs.Worker.run(Worker.java:55)
Caused by: org.codehaus.mojo.gwt.utils.GwtModuleReaderException: GWT Module com.vaadin.v7.Vaadin7WidgetSet not found in project sources or resources.
at org.codehaus.mojo.gwt.AbstractGwtModuleMojo.readModule(AbstractGwtModuleMojo.java:209)
at org.codehaus.mojo.gwt.GwtModule.getLocalInherits(GwtModule.java:189)
at org.codehaus.mojo.gwt.GwtModule.getInherits(GwtModule.java:149)
at org.codehaus.mojo.gwt.GwtModule.getEntryPoints(GwtModule.java:114)
at org.codehaus.mojo.gwt.shell.CompileMojo.compilationRequired(CompileMojo.java:615)
... 36 more
<inherits>
が自動的に削除された原因関連する依存関係を把握し、正しく理解すればpom.xml
に追加する必要があるようです。
あなたは試しましたか?https://github.com/vaadin/framework8-migration-tool(ちょっと不思議です) – petey
@peteyああ、いいえ。このコンポーネントではありません。私の同僚は、主なプロジェクトをVaadin 8に移行したときに私の同僚が使っていたと思うのですが、私はそれを見ています。そのgitのreadmeで、あなたはリンクしました。 "ツールはありません。私は手動で 'vaadin-client'と' vaadin-client-compiled'をそれらの '互換性 'バージョンに変更するべきです。私はしばらくして、古いgitタグに戻り、コンポーネントを試してみるかもしれません。私の手動の変更とは何か違うのを見てください。 –