2013-08-20 30 views
1

我們有一臺Linux機器(Red Hat)來編譯我們的flex(3.0)應用程序。 這是一個螞蟻任務(由maven-antrun-plugin調用)。flexClient_ <number> .cache(沒有這樣的文件或目錄)

我們決定更換我們的生成器(同樣是Red Hat)。
因此,我複製/粘貼新機器上的FLEX_HOME存儲庫(從舊的),安裝ant然後簽出新機器上的項目。

這裏是我的呼喚日誌:螞蟻-buildfile集結flex.xml

構建文件:內置flex.xml

版本:
[迴音]版本$ {maven.pom .version}
[拷貝]複製1個文件到/ home/ad59aphr /建造/ pharerh-IHM/flex_resources

compile.release:
[mxmlc的]加載配置文件/ EXEC /產物S/flex_sdk /框架/柔性-config.xml中
[mxmlc的] /home/ad59aphr/build/pharerh-ihm/flex_src/flexClient_381495.cache(沒有這樣>文件或目錄)

大部分時間它使用100%cpu在Java中掛起。 有時會顯示彙編中的一些警告,但不要繼續。

當我使用螞蟻-debug -buildfile集結flex.xml,它示出了執行的命令:

[mxmlc的] FlexTask.execute:-compiler.keep生成-動作=真-compiler .incremental = true + flexlib =/exec/products/flex_sdk/frameworks -compiler.services =/home/ad59aphr/build/pharerh-ihm/WebContent/WEB-INF/flex/services-config.xml -metadata.description = PhareRH -metadata.title = PhareRH -compiler.accessible = true -compiler.optimize = true -compiler.strict = true -compiler.headless-server = true -load-config =/exec/products/flex_sdk/frameworks/flex-config。 xml -compiler.source-path =/exec/products/flex_sdk/frameworks -compiler.source-path =/home/ad59aphr/build/pharerh -ihm/flex_resources -compiler.source-path =/home/ad 59aphr/build/pharerh-ihm/flex_src -compiler.source-path =/home/ad59aphr/build/pharerh -ihm/flex_src_gen -compiler.context-root =/-compiler.debug = false -compiler.include-libraries + =/home/ad59aphr/build/pharerh-ihm/flex_libs/Cairngorm.swc -compiler.include-libraries + =/home/ad59aphr/build/pharerh -ihm/flex_libs/Collat​​or.swc -compiler.include-libraries + =/home/ad59aphr/build/pharerh-ihm/flex_libs/automation.swc -compiler.include-libraries + =/home/ad59aphr/build/pharerh-ihm/flex_libs/automation_agent.swc -compiler.include-libraries + =/home/ad59aphr/build/pharerh- ihm/flex_libs/automation_dmv.swc -compiler.include-libraries + =/home/ad59aphr/build/pharerh-ihm/flex_libs/qtp.swc - /home/ad59aphr/build/pharerh-ihm/flex_src/flexClient.mxml

我看不到工作機器(舊機器)和這臺新機器之間的任何區別關於調試輸出。

我試圖複製舊.cache文件到新機(+換號),它給了我:

compile.release:
[mxmlc的]加載配置文件/ EXEC /產品/ flex_sdk /框架/柔性配置。xml
[mxmlc]無法將編譯目標與/home/ad59aphr/build/pharerh-ihm/flex_src/flexClient_381495.cache相匹配。緩存文件將不會被重用。

我試圖在build-flex.xml中將-incremental更改爲false,但結果相同:卡住了。

我試過tu在root中編譯以避免任何權限問題,結果相同。

我的集結flex.xml:

<?xml version="1.0" encoding="UTF-8"?> 
<!-- $HeadURL: http://svnserver.mdp/pharerh/branches/G1R3/developpement/pharerh-ihm/build-flex.xml $ --> 
<!-- WARNING: Eclipse auto-generated file. 
       Any modifications will be overwritten. 
       To include a user specific buildfile here, simply create one in the same 
       directory with the processing instruction <?eclipse.ant.import?> 
       as the first entry and export the buildfile again. --> 
<project basedir="." default="release" name="iah-admin-ui"> 
    <property environment="env" /> 


    <property name="WebApp.location" value="${env.TOMCAT_HOME}/webapps/pharerh-ihm" /> 

    <property name="flexClient.location" value="${basedir}" /> 
    <property name="FLEX_HOME" value="${env.FLEX_HOME}" /> 
    <property name="FDS_CONFIG_FILE" value="${env.FLEX_HOME}/frameworks/flex-config.xml" /> 
    <property name="webcontent_location" value="${flexClient.location}/WebContent" /> 
    <property name="FDS_SERVICES_CONFIG_FILE" value="${flexClient.location}/WebContent/WEB-INF/flex/services-config.xml" /> 

    <taskdef resource="flexTasks.tasks" classpath="${env.FLEX_HOME}/ant/lib/flexTasks.jar" /> 

    <target name="version"> 
     <echo message="Version ${maven.pom.version}" /> 
     <copy file="${flexClient.location}/flex_templates/version.properties" toDir="${flexClient.location}/flex_resources/" overwrite="true"> 
      <filterset> 
       <filter token="generated" value="# ATTENTION : Ce fichier est le resultat d'une generation automatique. Ne pas editer." /> 
       <filter token="version" value="${maven.pom.version}" /> 
      </filterset> 
     </copy> 
    </target> 

    <target name="compile.release" depends="version"> 
     <mxmlc file="${flexClient.location}/flex_src/flexClient.mxml" keep-generated-actionscript="true" incremental="true" services="${FDS_SERVICES_CONFIG_FILE}" > 
      <accessible>true</accessible> 
      <optimize>true</optimize> 
      <strict>true</strict> 
      <headless-server>true</headless-server> 
      <load-config filename="${FDS_CONFIG_FILE}" /> 
      <source-path path-element="${env.FLEX_HOME}/frameworks" /> 
      <source-path path-element="${flexClient.location}/flex_resources" /> 
      <source-path path-element="${flexClient.location}/flex_src" /> 
      <source-path path-element="${flexClient.location}/flex_src_gen" /> 
      <compiler.include-libraries dir="${flexClient.location}/flex_libs" append="true" > 
       <include name="*.swc" /> 
      </compiler.include-libraries> 
      <compiler.context-root>/</compiler.context-root> 
      <debug>false</debug> 
      <metadata description="PhareRH" title="PhareRH" /> 
     </mxmlc> 
    </target> 

    <target name="flex.wrapper"> 
     <html-wrapper 
      title="Bienvenue sur l'application Phare-rh" 
      height="100%" 
      width="100%" 
      bgcolor="#869ca7" 
      output="${webcontent_location}" 
      swf="flexClient" 
      template="express-installation" 
      history="false" 
      application="flexClient" 
      file="flexClient.html" 
      /> 

     <!-- Ajout des balises pour la gestion du cache dans le fichier html. --> 
     <replace file="${webcontent_location}/flexClient.html"> 
      <replacetoken><![CDATA[<head>]]></replacetoken> 
      <replacevalue><![CDATA[<head> 

<!-- Gestion du cache --> 
<meta http-equiv="expires" content="0" /> 
<meta http-equiv="pragma" content="no-cache" /> 
<meta http-equiv="cache-control" content="no-cache, must-revalidate, max-age=0" /> 
<meta http-equiv="Cache" Content="no store" /> 
<meta http-equiv="last-modified" content="" /> 
]]></replacevalue> 
     </replace> 
    </target> 

    <target name="compile.debug" depends="version"> 
     <mxmlc file="flex_src/flexClient.mxml" keep-generated-actionscript="false" services="${FDS_SERVICES_CONFIG_FILE}"> 
      <accessible>false</accessible> 
      <optimize>false</optimize> 
      <strict>true</strict> 
      <load-config filename="${FDS_CONFIG_FILE}" /> 
      <source-path path-element="${env.FLEX_HOME}/frameworks" /> 
      <compiler.include-libraries dir="flex_libs" append="true"> 
       <include name="*.swc" /> 
      </compiler.include-libraries> 
      <debug>true</debug> 
      <metadata description="PhareRH" title="PhareRH"> 
      </metadata> 
     </mxmlc> 
    </target> 

    <target name="release" depends="compile.release"> 
     <move file="flex_src/flexClient.swf" todir="${webcontent_location}" overwrite="true" /> 
    </target> 

    <target name="packaging" depends="compile.release, flex.wrapper"> 
     <move file="flex_src/flexClient.swf" todir="${webcontent_location}" overwrite="true" /> 
    </target> 

    <target name="release-debug" depends="compile.debug"> 
     <move file="${APP_ROOT}/flex_src/flexClient.swf" todir="release" overwrite="true" /> 
    </target> 

    <target name="release-no-compile"> 
     <echo message="WebAppLocation : ${WebApp.location}"/> 
     <copy file="bin-debug/flexClient.swf" todir="${WebApp.location}" overwrite="true" /> 
    </target> 

    <target name="properties-encoding"> 
     <exec command="native2ascii -encoding ISO8859_1 flex_resources/election.properties election.properties.ISO8859_1"> 
     </exec> 
     <move file="election.properties.ISO8859_1" tofile="flex_resources/election.properties" overwrite="true" /> 

     <exec command="native2ascii -encoding ISO8859_1 flex_resources/phareRH.properties phareRH.properties.ISO8859_1"> 
     </exec> 
     <move file="phareRH.properties.ISO8859_1" tofile="flex_resources/phareRH.properties" overwrite="true" /> 

     <exec command="native2ascii -encoding ISO8859_1 flex_resources/erreurs.properties erreurs.properties.ISO8859_1"> 
     </exec> 
     <move file="erreurs.properties.ISO8859_1" tofile="flex_resources/erreurs.properties" overwrite="true" /> 

     <exec command="native2ascii -encoding ISO8859_1 flex_resources/veillesociale.properties veillesociale.properties.ISO8859_1"> 
     </exec> 
     <move file="veillesociale.properties.ISO8859_1" tofile="flex_resources/veillesociale.properties" overwrite="true" /> 

     <exec command="native2ascii -encoding ISO8859_1 flex_resources/rup.properties rup.properties.ISO8859_1"> 
     </exec> 
     <move file="rup.properties.ISO8859_1" tofile="flex_resources/rup.properties" overwrite="true" /> 

     <exec command="native2ascii -encoding ISO8859_1 flex_resources/administration.properties administration.properties.ISO8859_1"> 
     </exec> 
     <move file="administration.properties.ISO8859_1" tofile="flex_resources/administration.properties" overwrite="true" /> 
    </target> 
</project> 

我的Flex-config.xml中

<?xml version="1.0"?> 

<!-- 

    ADOBE SYSTEMS INCORPORATED 
    Copyright 2005-2007 Adobe Systems Incorporated 
    All Rights Reserved. 

    NOTICE: Adobe permits you to use, modify, and distribute this file 
    in accordance with the terms of the license agreement accompanying it. 

--> 

<flex-config> 

    <compiler> 

     <!-- Turn on generation of accessible SWFs. --> 
     <accessible>false</accessible> 

     <!-- Specifies the locales for internationalization. --> 
     <locale> 
      <locale-element>en_US</locale-element> 
     </locale> 

     <!-- List of path elements that form the roots of ActionScript class hierarchies. --> 
     <!-- not set --> 
     <!-- 
     <source-path> 
     <path-element>string</path-element> 
     </source-path> 
     --> 

    <!-- Allow the source-path to have path-elements which contain other path-elements --> 
    <allow-source-path-overlap>false</allow-source-path-overlap> 

     <!-- Run the AS3 compiler in a mode that detects legal but potentially incorrect --> 
     <!-- code.                  --> 
     <show-actionscript-warnings>true</show-actionscript-warnings> 

     <!-- Turn on generation of debuggable SWFs. False by default for mxmlc, --> 
     <!-- but true by default for compc. --> 
     <!-- 
     <debug>true</debug> 
     --> 

     <!-- List of SWC files or directories to compile against but to omit from --> 
     <!-- linking.                --> 
     <external-library-path> 
     <path-element>libs/player/playerglobal.swc</path-element> 
     </external-library-path> 

     <!-- Turn on writing of generated/*.as files to disk. These files are generated by --> 
     <!-- the compiler during mxml translation and are helpful with understanding and --> 
     <!-- debugging Flex applications.             --> 
     <keep-generated-actionscript>false</keep-generated-actionscript> 

     <!-- not set --> 
     <!-- 
     <include-libraries> 
     <library>string</library> 
     </include-libraries> 
     --> 

     <!-- List of SWC files or directories that contain SWC files. --> 
     <library-path> 
     <path-element>libs</path-element> 
     <path-element>libs/player</path-element> 
     <path-element>locale/{locale}</path-element> 
     </library-path> 

     <namespaces> 
     <!-- Specify a URI to associate with a manifest of components for use as MXML --> 
     <!-- elements.                --> 
     <namespace> 
      <uri>http://www.adobe.com/2006/mxml</uri> 
      <manifest>mxml-manifest.xml</manifest> 
     </namespace> 
     </namespaces> 

     <!-- Enable post-link SWF optimization. --> 
     <optimize>true</optimize> 

     <!-- Keep the following AS3 metadata in the bytecodes.            --> 
     <!-- Warning: For the data binding feature in the Flex framework to work properly,     --> 
     <!--   the following metadata must be kept:             --> 
     <!--   1. Bindable                   --> 
     <!--   2. Managed                   --> 
     <!--   3. ChangeEvent                  --> 
     <!--   4. NonCommittingChangeEvent               --> 
     <!--   5. Transient                   --> 
     <!-- 
     <keep-as3-metadata> 
      <name>Bindable</name> 
      <name>Managed</name> 
      <name>ChangeEvent</name> 
      <name>NonCommittingChangeEvent</name> 
      <name>Transient</name> 
     </keep-as3-metadata> 
     --> 

     <!-- Turn on reporting of data binding warnings. For example: Warning: Data binding --> 
     <!-- will not be able to detect assignments to "foo".        --> 
     <show-binding-warnings>true</show-binding-warnings> 

     <!-- toggle whether warnings generated from unused type selectors are displayed --> 
     <show-unused-type-selector-warnings>true</show-unused-type-selector-warnings> 

     <!-- Run the AS3 compiler in strict error checking mode. --> 
     <strict>true</strict> 

     <!-- Use the ActionScript 3 class based object model for greater performance and better error reporting. --> 
     <!-- In the class based object model most built-in functions are implemented as fixed methods of classes --> 
     <!-- (-strict is recommended, but not required, for earlier errors) --> 
     <as3>true</as3> 

     <!-- Use the ECMAScript edition 3 prototype based object model to allow dynamic overriding of prototype --> 
     <!-- properties. In the prototype based object model built-in functions are implemented as dynamic  --> 
     <!-- properties of prototype objects (-strict is allowed, but may result in compiler errors for   --> 
     <!-- references to dynamic properties) --> 
     <es>false</es> 

     <!-- List of CSS or SWC files to apply as a theme. --> 
     <!-- not set --> 
     <!-- 
     <theme> 
     <filename>string</filename> 
     <filename>string</filename> 
     </theme> 
     --> 

     <!-- Turns on the display of stack traces for uncaught runtime errors. --> 
     <verbose-stacktraces>false</verbose-stacktraces> 

     <!-- Defines the AS3 file encoding. --> 
     <!-- not set --> 
     <!-- 
     <actionscript-file-encoding></actionscript-file-encoding> 
     --> 

     <fonts> 

      <!-- Enables advanced anti-aliasing for embedded fonts, which provides greater clarity for small --> 
      <!-- fonts. This setting can be overriden in CSS for specific fonts. --> 
      <!-- NOTE: flash-type has been deprecated. Please use advanced-anti-aliasing <flash-type>true</flash-type> --> 
      <advanced-anti-aliasing>true</advanced-anti-aliasing> 

      <!-- The number of embedded font faces that are cached. --> 
      <max-cached-fonts>20</max-cached-fonts> 

      <!-- The number of character glyph outlines to cache for each font face. --> 
      <max-glyphs-per-face>1000</max-glyphs-per-face> 

      <!-- Defines ranges that can be used across multiple font-face declarations. --> 
      <!-- See flash-unicode-table.xml for more examples. --> 
      <!-- not set --> 
      <!-- 
      <languages> 
       <language-range> 
        <lang>englishRange</lang> 
        <range>U+0020-U+007E</range> 
       </language-range> 
      </languages> 
      --> 

      <!-- Compiler font manager classes, in policy resolution order--> 
      <managers> 
       <manager-class>flash.fonts.JREFontManager</manager-class> 
       <manager-class>flash.fonts.AFEFontManager</manager-class> 
       <manager-class>flash.fonts.BatikFontManager</manager-class> 
      </managers> 

      <!-- File containing cached system font licensing information produced via 
       java -cp mxmlc.jar flex2.tools.FontSnapshot (fontpath) 
       Will default to winFonts.ser on Windows XP and 
       macFonts.ser on Mac OS X, so is commented out by default. 

      <local-fonts-snapshot>localFonts.ser</local-fonts-snapshot> 
      --> 

     </fonts> 

     <!-- Array.toString() format has changed. --> 
     <warn-array-tostring-changes>false</warn-array-tostring-changes> 

     <!-- Assignment within conditional. --> 
     <warn-assignment-within-conditional>true</warn-assignment-within-conditional> 

     <!-- Possibly invalid Array cast operation. --> 
     <warn-bad-array-cast>true</warn-bad-array-cast> 

     <!-- Non-Boolean value used where a Boolean value was expected. --> 
     <warn-bad-bool-assignment>true</warn-bad-bool-assignment> 

     <!-- Invalid Date cast operation. --> 
     <warn-bad-date-cast>true</warn-bad-date-cast> 

     <!-- Unknown method. --> 
     <warn-bad-es3-type-method>true</warn-bad-es3-type-method> 

     <!-- Unknown property. --> 
     <warn-bad-es3-type-prop>true</warn-bad-es3-type-prop> 

     <!-- Illogical comparison with NaN. Any comparison operation involving NaN will evaluate to false because NaN != NaN. --> 
     <warn-bad-nan-comparison>true</warn-bad-nan-comparison> 

     <!-- Impossible assignment to null. --> 
     <warn-bad-null-assignment>true</warn-bad-null-assignment> 

     <!-- Illogical comparison with null. --> 
     <warn-bad-null-comparison>true</warn-bad-null-comparison> 

     <!-- Illogical comparison with undefined. Only untyped variables (or variables of type *) can be undefined. --> 
     <warn-bad-undefined-comparison>true</warn-bad-undefined-comparison> 

     <!-- Boolean() with no arguments returns false in ActionScript 3.0. Boolean() returned undefined in ActionScript 2.0. --> 
     <warn-boolean-constructor-with-no-args>false</warn-boolean-constructor-with-no-args> 

     <!-- __resolve is no longer supported. --> 
     <warn-changes-in-resolve>false</warn-changes-in-resolve> 

     <!-- Class is sealed. It cannot have members added to it dynamically. --> 
     <warn-class-is-sealed>true</warn-class-is-sealed> 

     <!-- Constant not initialized. --> 
     <warn-const-not-initialized>true</warn-const-not-initialized> 

     <!-- Function used in new expression returns a value. Result will be what the --> 
     <!-- function returns, rather than a new instance of that function.   --> 
     <warn-constructor-returns-value>false</warn-constructor-returns-value> 

     <!-- EventHandler was not added as a listener. --> 
     <warn-deprecated-event-handler-error>false</warn-deprecated-event-handler-error> 

     <!-- Unsupported ActionScript 2.0 function. --> 
     <warn-deprecated-function-error>true</warn-deprecated-function-error> 

     <!-- Unsupported ActionScript 2.0 property. --> 
     <warn-deprecated-property-error>true</warn-deprecated-property-error> 

     <!-- More than one argument by the same name. --> 
     <warn-duplicate-argument-names>true</warn-duplicate-argument-names> 

     <!-- Duplicate variable definition --> 
     <warn-duplicate-variable-def>true</warn-duplicate-variable-def> 

     <!-- ActionScript 3.0 iterates over an object's properties within a "for x in target" statement in random order. --> 
     <warn-for-var-in-changes>false</warn-for-var-in-changes> 

     <!-- Importing a package by the same name as the current class will hide that class identifier in this scope. --> 
     <warn-import-hides-class>true</warn-import-hides-class> 

     <!-- Use of the instanceof operator. --> 
     <warn-instance-of-changes>true</warn-instance-of-changes> 

     <!-- Internal error in compiler. --> 
     <warn-internal-error>true</warn-internal-error> 

     <!-- _level is no longer supported. For more information, see the flash.display package. --> 
     <warn-level-not-supported>true</warn-level-not-supported> 

     <!-- Missing namespace declaration (e.g. variable is not defined to be public, private, etc.). --> 
     <warn-missing-namespace-decl>true</warn-missing-namespace-decl> 

     <!-- Negative value will become a large positive value when assigned to a uint data type. --> 
     <warn-negative-uint-literal>true</warn-negative-uint-literal> 

     <!-- Missing constructor. --> 
     <warn-no-constructor>false</warn-no-constructor> 

     <!-- The super() statement was not called within the constructor. --> 
     <warn-no-explicit-super-call-in-constructor>false</warn-no-explicit-super-call-in-constructor> 

     <!-- Missing type declaration. --> 
     <warn-no-type-decl>true</warn-no-type-decl> 

     <!-- In ActionScript 3.0, white space is ignored and '' returns 0. Number() returns --> 
     <!-- NaN in ActionScript 2.0 when the parameter is '' or contains white space.  --> 
     <warn-number-from-string-changes>false</warn-number-from-string-changes> 

     <!-- Change in scoping for the this keyword. Class methods extracted from an --> 
     <!-- instance of a class will always resolve this back to that instance. In --> 
     <!-- ActionScript 2.0 this is looked up dynamically based on where the method --> 
     <!-- is invoked from.               --> 
     <warn-scoping-change-in-this>false</warn-scoping-change-in-this> 

     <!-- Inefficient use of += on a TextField.--> 
     <warn-slow-text-field-addition>true</warn-slow-text-field-addition> 

     <!-- Possible missing parentheses. --> 
     <warn-unlikely-function-value>true</warn-unlikely-function-value> 

     <!-- Possible usage of the ActionScript 2.0 XML class. --> 
     <warn-xml-class-has-changed>false</warn-xml-class-has-changed> 

    </compiler> 

    <!-- compute-digest: writes a digest to the catalog.xml of a library. Use this when the library will be used as a 
         cross-domain rsl.--> 
    <!-- compute-digest usage: 
    <compute-digest>boolean</compute-digest> 
    --> 

    <!-- A list of runtime shared library URLs to be loaded before applications start. --> 
    <!-- not set --> 
    <!-- 
    <runtime-shared-libraries> 
     <url>string</url> 
     <url>string</url> 
    </runtime-shared-libraries> 
    --> 

    <!-- runtime-shared-library-path: specifies a SWC or directory to link against and an RSL URL to load with optional failover URLs --> 
    <runtime-shared-library-path> 
     <path-element>libs/framework.swc</path-element> 
     <rsl-url>framework_3.0.0.477.swz</rsl-url> 
     <policy-file-url></policy-file-url> 
     <rsl-url>framework_3.0.0.477.swf</rsl-url> 
     <policy-file-url></policy-file-url> 
    </runtime-shared-library-path> 
    <!-- static-link-runtime-shared-libraries: statically link the libraries specified by the -runtime-shared-libraries-path option.--> 
    <static-link-runtime-shared-libraries>true</static-link-runtime-shared-libraries> 

    <!-- target-player: specifies the version of the player the application is targeting. 
         Features requiring a later version will not be compiled into the application. 
         The minimum value supported is "9.0.0".--> 
    <!-- target-player usage: 
    <target-player>version</target-player> 
    --> 

    <!-- Enables SWFs to access the network. --> 
    <use-network>true</use-network> 

    <!-- Metadata added to SWFs via the SWF Metadata tag. --> 
    <metadata> 
     <title>Adobe Flex 3 Application</title> 
     <description>http://www.adobe.com/products/flex</description> 
     <publisher>unknown</publisher> 
     <creator>unknown</creator> 
     <language>EN</language> 
    </metadata> 

    <!-- licenses: specifies a list of product and serial number pairs. --> 
    <!-- not set --> 

    <licenses> 
     <license> 
     <product>flexbuilder3</product> 
     <serial-number>XXXXXXXXXXXXXXXXX</serial-number> 
     </license> 
    </licenses> 


</flex-config> 

回答

0

我覺得 「flexClient_381495.cache(無此類>文件或目錄)」 的消息是無害。這只是螞蟻或螞蟻任務的標準輸出,對吧?我想我已經看過這樣的消息一百萬次了,但是因爲我用過螞蟻已經有一段時間了......

你提到它在打印輸出後掛起,但有時候你也會看到編譯器警告。我猜它每次都進入編譯階段。有時候編譯時會看到一些警告消息。

這聽起來像您可能想要爲JVM指定更大的堆大小。關於這樣做的一些細節herehere

+0

沒錯,那個錯誤沒用。我改變了我的JDK(1.7到1.5)。編譯現在好了。謝謝 – eclips

相關問題