読者です 読者をやめる 読者になる 読者になる

この日記は私的なものであり所属会社の見解とは無関係です。 GitHub: takahashikzn

Eclipse3.5.1へ更新したらJStyleが動かなくなったでござるの巻


僕はAll in One Eclipseを使っているのですが、昨日Eclipse3.5.0からEclipse3.5.1へとアップデートするのにEclipseのアップデータを使用しました。


JStyleは、実体はプラグインではないため手動で最新版をインストールする必要があるのですが、
最新版(JStyle-3.5.1)をインストールしてもJStyleが動作しませんでした。


調べたところ、原因はSWTのjarのバージョンが微妙に異なるためでした。


配布版JStyle3.5.1には

というjarファイルが含まれていますが、アップデータで更新されたSWTのjarは

であり、微妙にバージョンが異なります。


さて、全角スペースが表示されないままなのは非常に困るため、自分でJStyleをビルドすることにしました。
必要な手順を以下に示します。


手順1

  1. ここからjstyle_3.5.1.0.zipをダウンロードして展開します。
  2. 展開したフォルダの中にjstyle-3.5.1.0-src.zipがあるので、さらにこれを展開します。以後、このフォルダを${JSTYLE_SRC}とします。

手順2

${JSTYLE_SRC}/originalの中にjarファイルが2つあるので、これを

と入れ替えます。


手順3

${JSTYLE_SRC}/build.xmlの以下の2か所(変更点1, 2)を変更します。

    <target name="@dot" depends="init" unless="@dot" description="JAR jp.sourceforge.mergedoc.jstyle @dot を作成します。">
        <delete dir="${build.result.folder}/@dot"/>
        <mkdir dir="${build.result.folder}/@dot"/>

        ↓変更点1:jarのパスを自分の環境に応じて書き換える。
        <path id="@dot.classpath">
            <pathelement path="C:/java/eclipse/3.5/eclipse/plugins/org.eclipse.ui_3.5.1.M20090902-1000.jar"/>

            (略)
            
            ↓変更点2:"3554b"→"3555a"へと書き換える。
            <pathelement path="C:/java/eclipse/3.5/eclipse/plugins/org.eclipse.swt_3.5.1.v3555a.jar"/>
            <pathelement path="C:/java/eclipse/3.5/eclipse/plugins/org.eclipse.swt.win32.win32.x86_3.5.1.v3555a.jar"/>

            (略)

        </path>

        (略)

    </target>

手順その4

${JSTYLE_SRC}/build_all.xmlの以下の2か所(変更点3, 4)を変更します。

<?xml version="1.0" encoding="UTF-8"?>
<project name="JStyle" basedir=".">

	<property name="target.eclipse.version" value="3.5.1" />
	<property name="jstyle.version" value="${target.eclipse.version}.0" />

	↓変更点3:"3554b"→"3555a"へと書き換える。
	<property name="original.swt.version" value="3.5.1.v3555a" />

        (略)

	<!-- プラグイン作成 -->
	<target name="merge.swt">

        (略)

		<!-- オリジナル jar を解凍し、改造版クラスを上書き -->
		<unzip src="original/${original.swt.jar.name}" dest="${temp.plugins.dir}/swt">
		    <patternset>
				<exclude name="META-INF/ECLIPSE*" />
		    </patternset>
		</unzip>

		<copy todir="${temp.plugins.dir}/swt" overwrite="true">
			↓変更点4:"bin"→"@dot"へと書き換える。
			<fileset dir="@dot">
				<include name="org/**" />
			</fileset>
		</copy>

        (略)

	</target>

</project>

手順その5


これでビルドに必要な準備が整いました。最後に${JSTYLE_SRC}直下で次のコマンドを実行します。

ant -file=build_all.xml build

これでjstyle_3.5.1.0.zipが出来上がります。
あとは通常通りJStyleをインストールすればよいです。


(追記)

この件についてフォーラムで報告したら対応して頂けました。
どうもありがとうございました。