bestlong 怕失憶筆記

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

Entries for the ‘程式設計’ Category

用 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

Delphi 的 ExtractFileDir 與 ExtractFilePath 函數有何差異?

ExtractFileDir() 與 ExtractFilePath() 是有差異的,直接用程式來看差異結果

1
2
3
4
5
6
7
8
procedure TForm1.Button1Click(Sender: TObject);
begin
  Memo1.Clear;
  Memo1.Lines.Add(ExtractFileDir('C:\a.exe'));
  Memo1.Lines.Add(ExtractFilePath('C:\a.exe'));
  Memo1.Lines.Add(ExtractFileDir('C:\Program Files\a.exe'));
  Memo1.Lines.Add(ExtractFilePath('C:\Program Files\a.exe'));
end;

得到的執行結果是
C:\
C:\
C:\Program Files
C:\Program Files\

得知 ExtractFilePath() 的結果都會在路徑後保留 \

Leave a Comment

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

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

Leave a Comment

  • 工商服務

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

  • 標籤

  • 彙整