bestlong 怕失憶筆記

當健忘由隨機逐漸趨向常態時,作筆記是非常必要的

Entries for the ‘Java’ Category

Java 反編譯工具:jd-gui

JD-GUI is a standalone graphical utility that displays Java source codes of “.class” files. You can browse the reconstructed source code with the JD-GUI for instant access to methods and fields.

JD-GUI is free for non-commercial use. This means that JD-GUI shall not be included or embedded into commercial software products. Nevertheless, this project may be freely used for personal needs in a commercial or non-commercial environments.

http://java.decompiler.free.fr/

Leave a Comment

用 DJ Java Decompiler 救回找不到原始碼的程式

把 class 變成 java code 可以用反組譯工具

http://members.fortunecity.com/neshkov/dj.html

djshot311

Leave a Comment

在 Eclipse 中的 log4j.xml 出現系統找不到 log4j.dtd 警告

在專案中的每個 log4j.xml 中的此行 DOCTYPE log4j:configuration SYSTEM “log4j.dtd” 位置出現警告

警告內容如下:

1
The file cannot be validated as the XML Schema "C:\EclipseWorkspace\SomeProject\src\log4j.dtd (系統找不到指定的檔案。)" that is specified as describing the syntax of the file cannot be located.

試過將 log4j.dtd 複製到同一目錄下,但 Eclipse 還是顯示同樣問題。

將該行改成

1
2
3
<!DOCTYPE log4j:configuration PUBLIC
"-//log4j/log4j Configuration//EN"
"http://svn.apache.org/viewvc/logging/log4j/trunk/src/main/resources/org/apache/log4j/xml/log4j.dtd?view=co">

就可以了。
不過這算是惡搞的處理方法,沒有網路就掛了,有機會還是要搞清楚是否有更適當的解決方案。

Leave a Comment

Eclipse 出現 The content of element type “package” must match … 錯誤

當我在 Eclipse IDE 環境中學習 struts 2 的過程中,進行編輯 struts.xml 時碰到提示下列的問題

The content of element type “package” must match “(result-types?,interceptors?,default-interceptor-ref?,default-action-ref?,default-class-ref?,global-results?,global-exception-mappings?,action*)”.

有問題的 struts.xml 內容大略如下:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
<!DOCTYPE struts PUBLIC "-//Apache Software Foundation//DTD Struts Configuration 2.0//EN" "http://struts.apache.org/dtds/struts-2.0.dtd">

<struts>
<package name="default" namespace="/" extends="jasperreports-default">
<action name="myJasperTest" class="tw.idv.bestlong.test.action.JasperAction">
<result name="success" type="jasper">
<param name="location">/jasper/our_compiled_template.jasper</param>
<param name="datasource">myList</param>
<param name="format">PDF</param>
</result>
</action>

<result-types>
<result-type name="jasper" class="org.apache.struts2.views.jasperreports.JasperReportsResult"/>
</result-types>
</package>
</struts>

這是因為沒有依據 DTD 中定義的 Element 順序,所以只要調整內容的順序如下就可以通過檢查了。

1
2
3
4
5
6
7
8
9
10
11
12
13
<package name="default" namespace="/" extends="jasperreports-default">
<result-types>
<result-type name="jasper" class="org.apache.struts2.views.jasperreports.JasperReportsResult"/>
</result-types>

<action name="myJasperTest" class="tw.idv.bestlong.test.action.JasperAction">
<result name="success" type="jasper">
<param name="location">/jasper/our_compiled_template.jasper</param>
<param name="datasource">myList</param>
<param name="format">PDF</param>
</result>
</action>
</package>

Leave a Comment

讓 Eclipse 支援多種 JDK 版本的設定方式

不同的 Java 專案可能會因為歷史悠久而需要用到不同版本的 JDK 來編譯。
在 Eclipse 的環境下,進入 Window > Preferences > Java > Installed JREs
然後點選 Add 選擇 Standard VM 指定 JRE home 到 JDK 安裝的位置,讓 Eclipse 知道其他 JDK 的存在。

Leave a Comment

  • 工商服務

    廣告讀取中...
  • 近期留言

  • 標籤

  • 彙整