最近システムを Mint12 から Mint14 にアップグレードしましたが、古いプロジェクトを新しいシステムでうまく動作させるのに深刻な問題がありました。すべてを要約すると:
- Mint14 が正常に動作するようになり、すべての必須ソフトウェア (Eclipse、ANT など) がインストールされました
- バックアップ ディスクからファイルを復元しました
- Oracle JDK をデフォルトの Java バージョンとして設定する
- SVN から私のプロジェクトの新しいコピーをチェックアウトしました
- 新しい user_id を反映するように、ビルド ファイル内のすべてのパスを更新しました。
これで問題ありませんが、プロジェクトをビルドしようとすると、次のエラーが発生するように、私の ant ビルドが何らかの形で台無しになっているようです。
~/new_workspace/my_project $ ant dist
Buildfile: /home/my_userid/new_workspace/my_project/build.xml
[taskdef] Could not load definitions from resource net/sf/antcontrib/antlib.xml. It could not be found.
init:
compile:
[javac] /home/my_userid/new_workspace/my_project/build.xml:246: warning: 'includeantruntime' was not set, defaulting to build.sysclasspath=last; set to false for repeatable builds
static:
dist:
[svn] <Status> started ...
[svn] svn: This client is too old to work with working copy '/home/my_userid/new_workspace/my_project'; please get a newer Subversion client
[svn] svn: This client is too old to work with working copy '/home/my_userid/new_workspace/my_project'; please get a newer Subversion client
[svn] <Status> failed !
BUILD FAILED
/home/my_userid/new_workspace/my_project/build.xml:104: Can't get status of /home/my_userid/new_workspace/my_project
Total time: 0 seconds
「古すぎて作業コピーを使用できません...」というメッセージに気付きましたが、確認するsvn --version
と 1.7.5 で問題ないことがわかりました。サーバー上のSVNバージョンはその間変更されていないことに注意してください。プロジェクト (Eclipse 経由でチェックアウトし、Subclipse 1.6 を使用) は、コマンド ライン経由で ANT が使用するバージョンでは動作しないという理論がありますが、その場合、クライアントのバージョンは古すぎるのではなく、新しすぎるのです!? Subversion を「ダウングレード」する価値はありますか?
それ以外の場合、何が問題になる可能性があり、どうすれば解決できますか? プロジェクトが正常に機能することを確認するために確認する必要がある、その他の一般的な問題 (ディストリビューションのアップグレード/移行中に発生する可能性がある) はありますか? (以下は、ビルド ファイルの関連部分です)
このビットは svn バインディングを定義します
<path id="svnant.classpath">
<fileset dir="/home/my_userid/.ant/lib">
<include name="svnant.jar" />
<include name="svnClientAdapter.jar" />
<include name="svnjavahl.jar" />
<!-- <include name="svnkit.jar" /> tried this as well but no joy -->
</fileset>
</path>
「dist」ターゲットの関連ビット:
<target name="dist"
depends="compile,static" description="Compiles and builds jar files">
<mkdir dir="${dist}"/>
<buildnumber file="project-version.properties"/>
<property name="version.number" value="${major.version}.${minor.version}.${micro.version}"/>
<svn>
<status path="."
lastChangedRevisionProperty="rev.number" />
<info target="." />
</svn>
...