2017-09-12 3 views
1

最近、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に追加する必要があるようです。

+1

あなたは試しましたか?https://github.com/vaadin/framework8-migration-tool(ちょっと不思議です) – petey

+0

@peteyああ、いいえ。このコンポーネントではありません。私の同僚は、主なプロジェクトをVaadin 8に移行したときに私の同僚が使っていたと思うのですが、私はそれを見ています。そのgitのreadmeで、あなたはリンクしました。 "ツールはありません。私は手動で 'vaadin-client'と' vaadin-client-compiled'をそれらの '互換性 'バージョンに変更するべきです。私はしばらくして、古いgitタグに戻り、コンポーネントを試してみるかもしれません。私の手動の変更とは何か違うのを見てください。 –

答えて

0

[OK]を修正しました。https://vaadin.com/forum/#!/thread/15031831/15036434

と(私はここに引用)最初の応答は、私の問題を解決しました:私は8にVaadin 7を移行し、ウィジェットセットでいくつかの問題を抱えて、他の誰かのこの記事に出くわした

に良いこんにちは、新しいバージョンを楽しんでいることを知っている:)次のことを確認します。

  • あなたはvaadin-compatibility-servervaadin-server依存関係を交換する必要があります。デフォルトのウィジェットセット(あなたは自分でそれをコンパイルしていない)を使用している場合
    • vaadin-compatibility-client-compiledvaadin-client-compiled依存関係を交換してください。
    • @Widgetset("com.vaadin.v7.Vaadin7WidgetSet")をUIの実装に追加します。
  • カスタムウィジェットセットを使用している場合:vaadin-compatibility-clientvaadin-client依存関係を交換し
    • を。
    • 再コンパイルしてください。

だから私は、私たちのウィジェットセットのpom.xmlvaadin-compatibility-clientvaadin-clientを変更し、今<inherits> -tagが残っています。

関連する問題