本人在建構資料庫分區,分表的時候,由于jdbc3(jdk1.5中實作)和jdbc4(jdk1.6後實作)兩個規範上存在相當大的差異,導緻無論采用哪個jdk進行編譯,都會導緻整個pom樹無法正确建構,總有一個要出問題。
說實際的這個問題卡了比較長的時候,最後還是研究maven編譯插件,才真正解決。
解決的辦法就是,在主pom中定義下面的編譯插件:
<a href="http://my.oschina.net/tinyframework/blog/200408#">?</a>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
<code><</code><code>build</code><code>></code>
<code> </code><code>[...]</code>
<code> </code><code><</code><code>plugins</code><code>></code>
<code> </code><code><</code><code>plugin</code><code>></code>
<code> </code><code><</code><code>groupid</code><code>>org.apache.maven.plugins</</code><code>groupid</code><code>></code>
<code> </code><code><</code><code>artifactid</code><code>>maven-compiler-plugin</</code><code>artifactid</code><code>></code>
<code> </code><code><</code><code>version</code><code>>3.1</</code><code>version</code><code>></code>
<code> </code><code><</code><code>configuration</code><code>></code>
<code> </code><code><</code><code>verbose</code><code>>true</</code><code>verbose</code><code>></code>
<code> </code><code><</code><code>fork</code><code>>true</</code><code>fork</code><code>></code>
<code> </code><code><</code><code>executable</code><code>>${jdk1.5javac}</</code><code>executable</code><code>></code>
<code> </code><code><</code><code>compilerversion</code><code>>1.5</</code><code>compilerversion</code><code>></code>
<code> </code><code></</code><code>configuration</code><code>></code>
<code> </code><code></</code><code>plugin</code><code>></code>
<code> </code><code></</code><code>plugins</code><code>></code>
<code> </code><code></</code><code>build</code><code>></code>
在dbclusterjdbc4中添加下面的編譯插件:
<code> </code><code><</code><code>executable</code><code>>${jdk1.6javac}</</code><code>executable</code><code>></code>
<code> </code><code><</code><code>compilerversion</code><code>>1.6</</code><code>compilerversion</code><code>></code>
然後在settings.xml中定義jdk1.5javac 和jdk1.6javac變量,指向兩個jdk的javac檔案即可。