質問

私のしているため、antビルドスクリプトを編集するGWT.このスクリプトを含む多数の図書館を、それぞれ比較的長い。私GWTのコードだけに触れこれらの図書館ですので、しかし、便利ですべてのlibariesのlibディレクトリを使っていることがほとんどの場合、他のすべての願いします。ここでは、当該部分の構成スクリプト:

<path id="gwt.project.class.path">
  <pathelement location="gen"/>
  <pathelement location="${gwt.sdk}/gwt-user.jar"/>
  <fileset dir="${gwt.sdk}" includes="gwt-dev*.jar"/>
  <fileset dir="${smartgwt.sdk}" includes="smartgwt*.jar"/>
  <!-- Add any additional non-server libs (such as JUnit) -->
  <fileset dir="lib" includes="**/*.jar"/>
</path>

<target name="gwtc" depends="compileApp" description="GWT compile to JavaScript" unless="noGWTModule">
<java failonerror="true" fork="true" classname="com.google.gwt.dev.Compiler">
  <classpath>
    <pathelement location="src"/>
    <path refid="gwt.project.class.path"/>
  </classpath>
  <!-- add jvmarg -Xss16M or similar if you see a StackOverflowError -->
  <jvmarg value="-Xmx256M"/>
  <!-- Additional arguments like -style PRETTY or -logLevel DEBUG -->
  <arg value="${gwt.module}"/>
  <arg value="-war" />
  <arg value="${gwt.gen.dir}" />
</java>
</target>`

私が試してみてくださいここを取得し、以下のエラー:

java.io.IOException: CreateProcess: "C:\Program Files\Java\jdk1.5.0_11\jre\bin\java.exe" -Xmx256M -classpath "C:\Program Files\Common Files\eclipse\workspace\development\src;C:\Program Files\Common Files\eclipse\workspace\development\lib\build\hbBuildSupport.jar;C:\Program Files\Common Files\eclipse\workspace\development\lib\db\hibernate\ehcache.jar;C:\Program Files\Common Files\eclipse\workspace\development\lib\db\hibernate\hibernate-annotations.jar;C:\Program Files\Common Files\eclipse\workspace\development\lib\db\hibernate\hibernate-commons-annotations.jar;C:\Program Files\Common Files\eclipse\workspace\development\lib\db\hibernate\hibernate-entitymanager.jar;C:\Program Files\Common Files\eclipse\workspace\development\lib\db\hibernate\hibernate-tools.jar;C:\Program Files\Common Files\eclipse\workspace\development\lib\db\hibernate\hibernate-validator.jar;C:\Program Files\Common Files\eclipse\workspace\development\lib\db\hibernate\hibernate3.jar;C:\Program Files\Common Files\eclipse\workspace\development\lib\db\hibernate\javassi�

ことでsomepointの作成、を含む文字列のすべての図書館パスは切り捨てられます。これにより文字制限CreateProcess?このCreateProcessコマンド文字列を取得するのみ1024文字の前に前方一致というような小さな制限します。直しとかは出来ないんですか増やすことはどのようなものですか。意思想/ソリューション/回避策ください。

おかげさ Mayur

役に立ちましたか?

解決

問題は、Windowsのコマンドラインは8191文字に制限されており、GWTは、クラスパス内の各jarファイルへの完全なパスを入れているということです。この問題を解決する唯一の方法は、短いパスでディレクトリにjarファイルを移動することです。

あなたはシンボリックリンクを作成して、ビルドファイルにそのリンクを参照することにより、窓の下にこれを行うことができます。このような何か。

Cのルートから:

mklink /D jars C:\Program Files\Common Files\eclipse\workspace\development\lib

Wikpedia窓シンボリックリンクの上のエントリ

他のヒント

この回避策のための非常に長いクラスパスを使用し java.ext.dirs 物件をすべてコンパイル時間の依存関係のJARファイルでその存在を確立しており、今で参照しているclasspath)このディレクトリです。

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top