2014-02-14 29 views
0

我使用其中一個示例SDK項目 作爲基礎創建了自定義Alfresco操作對話框。我爲我的java文件 保留了示例項目「org.alfresco.sample」包,它工作正常。 然後我試圖將軟件包名稱更改爲「com.xxxxxx.xxxxx」,並停止工作。 我已經檢查了項目中的所有文件,以確保我用新的軟件包名稱替換了「org.alfresco.sample」的每個實例。 任何人都可以提出一個可能的原因嗎? 謝謝未顯示Alfresco自定義操作對話框

我發現當我構建項目時,它不是構建java文件。任何人都可以 建議爲什麼它不構建新的包名稱的Java文件? 謝謝

我得到了Java文件再次構建。但新行動仍未被使用。新的操作使用評估器,但似乎沒有運行。 (這通常會寫 日誌。)

這裏是build.xml文件的一部分:

<project name="Custom Dialog Build File" default="package-amp" basedir="."> 
<property name="project.dir" value="."/> 
<property name="build.dir" value="${project.dir}/build"/> 
<property name="config.dir" value="${project.dir}/config"/> 
<property name="jsp.dir" value="${project.dir}/web/jsp"/> 
    <property name="web.dir" value="${project.dir}/web" /> 
<property name="package.file.jar" value="${build.dir}/lib/custom-dialog.jar"/> 
    <property name="package.file.zip" value="${build.dir}/lib/custom-dialog.zip"/> 
    <property name="amp.file" value="${build.dir}/dist/retailChannels.amp"/> 

    <path id="class.path"> 
     <dirset dir="${build.dir}" /> 
     <fileset dir="../../lib/server" includes="**/*.jar"/> 
    </path> 

    <target name="compile"> 
     <mkdir dir="${build.dir}" /> 
     <javac classpathref="class.path" srcdir="${project.dir}/source" destdir="${build.dir}" /> 
    </target> 

<target name="package-jar" depends="increment-build-number"> 
     <delete file="${package.file.jar}" /> 
    <jar destfile="${package.file.jar}"> 
     <fileset dir="${build.dir}"> 
      <exclude name="dist/**" /> 
      <exclude name="lib/**" /> 
      <exclude name="web/**" /> 
     </fileset> 
    </jar> 
</target> 

    <target name="mkdirs"> 
     <mkdir dir="${build.dir}/dist" /> 
     <mkdir dir="${build.dir}/lib" /> 
    </target> 

    <target name="clean"> 
    <delete includeemptydirs="true"> 
     <fileset dir="${build.dir}/dist" includes="**/*"/> 
    </delete> 
    </target> 

    <target name="package-amp" depends="clean, mkdirs, package-jar" description="Package the Module" > 
     <delete file="${amp.file}" /> 
     <zip destfile="${amp.file}" > 
      <fileset dir="${project.dir}/build" includes="lib/*.jar" /> 
    <fileset dir="${project.dir}/config/alfresco/module/alfresco" includes="*.properties" /> 
      <fileset dir="${project.dir}" includes="config/**/*.*" excludes="**/module.properties" /> 
    <fileset dir="${project.dir}/source"> 
      <include name="web/jsp/**/*.jsp" /> 
      <include name="web/images/**" /> 
    </fileset> 
     </zip> 
    </target> 

</project> 

我只是想通過您建議的行家SDK教程去,但我得到 這個錯誤: 2014年2月14日下午3點42分48秒org.apache.catalina.core.ContainerBase startInternal SEVERE:子容器在啓動過程中失敗 java.util.concurrent.ExecutionException:java.lang.OutOfMemoryError:PermGen空間 在java .util.concurrent.FutureTask.report(FutureTask.java:122) at java.util.concurrent.FutureTask.get(FutureTask.java:188)

回答

1

檢查build.xml文件。仔細檢查編譯和包jar任務(或類似的)。例如,這些任務中的一個或兩個都可能有一個文件集,它使用一個模式來使用包結構包含您的類,並且現在您可能不再匹配您更改了包名稱。

很難說沒有看到你的build.xml。

順便說一句,如果你想要一個更先進的最新例子在露天創建行動,一起來看看這個教程:http://ecmarchitect.com/alfresco-developer-series-tutorials/actions/tutorial/tutorial.html

它採用露天Maven的SDK封裝安培。 Alfresco Maven SDK優於您正在使用的舊版SDK。