現在SVF(v6.2c)を使ってアプリを開発しております。
Webアプリケーションではなく、普通(?)のjavaのアプリです。
eclipseで開発しており、eclipseから実行すると無事PDFが出力されるのですが、
アプリをjarにかためてコマンドで実行すると、
「vfreport.properties not found (use default properties)」
というエラーで実行できません。(エラーコードはcode:[-1]です)
調べてパスが通っていないのだとわかったので、
実行PCの環境変数CLASSPATHにsvf.jarを追加したのですが、
それでも同じエラーで実行できません。
追加したパスは、
C:\SVFJP\svfjpd\lib\svf.jar
です。
eclipseの.classpathでのsvf関連のものは、
<classpathentry kind="lib" path="lib/svf/BSPro.jar"/>
<classpathentry kind="lib" path="lib/svf/svfpstat.jar"/>
<classpathentry sourcepath="lib/svf/svfpstat.jar" kind="lib" path="lib/svf/svf.jar"/>
となっています。
クラスパスの通し方が間違っているのでしょうか…?
何かわかる方がいらっしゃいましたら、教えてください。。。
No.5ベストアンサー
- 回答日時:
svf.jar ということは、「SVF for Java Print」を使用していると思います。
その場合でしたら、「vfreport.properties が存在するディレクトリ」をクラスパスに追加すれば読み込んでくれるはずです。
FatJar を使って svf.jar を含めてしまった場合、「svf.jar をクラスパスに追加する」ではだめです。
フォルダをクラスパスに追加してもだめな場合には、Java を起動する際のカレントディレクトリに vfreport.properties 関係を全部置けば大丈夫なはずです。
ちなみに、SVF ライブラリを使用する場合には、設定ファイルは基本的にライブラリと同じフォルダに置くことになっていると思います。
SVF では自身のライブラリの位置を jar プロトコルを分解してネイティブパスを特定し、同じフォルダにある設定ファイルを使用しようとします。
このため FatJar のような Jar in Jar タイプの場合、自身のライブラリの位置をネイティブパス上に特定出来なくなりますので使わない方が無難です。
使う場合には、SVF 関係のライブラリを含めずに、Java を起動するときのクラスパスに追加した方がよいです。
ありがとうございます!
まったく仰るとおりです。
>フォルダをクラスパスに追加してもだめな場合には、Java を起動する際のカレントディレクトリに vfreport.properties 関係を全部置けば大丈夫なはずです。
→
初心者なもので、簡単にjarにまとめられるツールがあるとわかり、FatJarを使用してました…。
こちらで実行することができました!!
フォルダをクラスパスに追加してもだめでしたが、
もしFatJarを使わない場合は、自作のマニフェストファイルの
Class-Path:
にすべてのライブラリの相対パスと、
vfreport.properties関係があるディレクトリの相対パスを記述しておけば良いということでしょうか??
No.6
- 回答日時:
> フォルダをクラスパスに追加してもだめでしたが、
設定ファイルがあるフォルダをクラスパスに追加する方法はマニュアルに書いてあった方法でしたが、だめでしたか・・・。
過去に同じ問題にはまったときは、カレントディレクトリに配置することで回避していました。
> もしFatJarを使わない場合は、自作のマニフェストファイルの
> :
> vfreport.properties関係があるディレクトリの相対パスを記述しておけば良いということでしょうか??
そうですね。設定ファイルがあるフォルダの相対パスを追加すれば大丈夫だと思います。
一番無難なのは、svf.jar と設定ファイルを同じフォルダに配置し、svf.jar の方だけをクラスパスに追加する方法だと思います。svf.jar と同じフォルダは一番最初に検索されるようですので、あまり悩まずにすむと思います。
詳しい回答をありがとうございます!
SVF関連のjarと設定ファイルが12ファイルくらいあり、
できれば実行アプリケーションを置くフォルダの下に
svfフォルダを作成してその中に設定ファイル等が置ければ
一番わかりやすい状態になると思うので…、
FatJarを使わずにjarにまとめる方法を勉強したいと思います。
ありがとうございました!
No.4
- 回答日時:
><classpathentry kind="lib" path="lib/svf/BSPro.jar"/>
><classpathentry kind="lib" path="lib/svf/svfpstat.jar"/>
↑もclasspathに追加してみてはどうでしょうか。
あと、起動するjarはmain.jarなのでは?
main.jarのmanifestに
Main-Class: jp.co.test.mainClass
と記述されているんですよね。
ありがとうございます!!
javaを実行する際のカレントディレクトリにSVF関連のファイルをすべて置いたら実行できました。
初心者なもので、FatJarという簡単なツールを使っていたのですが、
逆にわかりづらくしてしまっていたようです…。
ですが、実行するカレントディレクトリにSVF関連のファイルがすべておいてるというのもわかりづらいように思うので、
もう少し勉強したいと思います。
色々とても勉強になりました!
ありがとうございました!
No.3
- 回答日時:
manifestファイルでメインクラス指定してますよね?
この回答への補足
ご連絡が遅くなり申し訳ありません。。。
その後色々試していますが、やはり同じエラーです…。
jarファイルにまとめる方法として、
Fat Jarというeclipseのプラグインを用いています。
それで作成したjarを解凍してみると、manifestファイルもあり以下のようになっていました。
test.jarを解凍↓
┗ test
┣ /com
┣ /lib(各jarファイル)
┃ ┣ svf.jar
┃ ┣ svfpstat.jar
┃ ┣ ・
┃ ┣ ・
┃ ┣ ・
┃ ┗ ・
┃
┣ /main(下記参照)
┃ ┗ /main.jar
┃
┣ /META-INF(Fat JarのMANIFESTファイルのようです)
┃ ┗ MANIFEST.MF
┃
┣ doc
┗ OneJar.class
main.jarを解凍↓
┗ main
┣ /jp
┃ ┗ /co
┃ ┗ 以下ソースファイル
┃
┣ /META-INF
┃ ┗ MANIFEST.MF
┃
┗ XXXXXX.properties(プロパティファイルがいくつか)
test.jarの方のMANIFEST.MFには、
---------------------------------------------
Manifest-Version: 1.0
Created-By: Fat Jar/One-JAR Eclipse Plug-In
Main-Class: com.simontuffs.onejar.Boot
---------------------------------------------
とFatJar用の(?)MANIFESTファイルになっており、
main.jarの方のMANIFEST.MFには、
---------------------------------------------
Created-By: Fat Jar/One-JAR Eclipse Plug-In
Main-Class: jp.co.test.mainClass
---------------------------------------------
のようにメインクラスが指定されています。
そこで、
java -jar C:\workspace\test\test.jar -classpath C:\workspace\test\lib\svf.jar
のように実行してみましたが、やはりだめでした。
何かおわかりでしょうか?
No.2
- 回答日時:
アプリの起動はどうやってるんですか・・・
hogehoge部分にアプリのメインクラス名を入れるイメージで書いたのですが・・・
この回答への補足
申し訳ありません。。。
アプリの実行は
java -jar C:\workspace\test\test.jar
としております。
なので、
java -jar C:\workspace\test\test.jar -classpath C:\workspace\test\lib\svf\svf.jar
のように実行してみましたが、同じ結果でした。
まだ間違っていますでしょうか…?
No.1
- 回答日時:
実行するときのclasspathにsvfのjarファイルのpathを通さないとダメな気がします。
java hogehoge -classpath svfのpath
のようなかんじで。
この回答への補足
早々のご回答ありがとうございます!
実行するときのclasspath…。
java -classpath C:\SVFJP\svfjpd\lib\svf.jar
と実行してみましたが、
Usage: java [-options] class [args...]
(to execute a class)
or java [-options] -jar jarfile [args...]
(to execute a jar file)
where options include:
-client to select the "client" VM
-server to select the "server" VM
・・・・・・
というように表示されました。
何かオプションを指定しないといけないのでしょうか??
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- UNIX・Linux AWSのEC2のZabbixユーザーでawscliコマンドが実行できない状態を解決する 1 2022/12/06 22:17
- Perl Perl の外部モジュールの利用方法 3 2022/07/10 18:34
- その他(プログラミング・Web制作) python flask から fastapiへの移行時のエラー対処 1 2023/02/05 12:26
- Ruby Ruby / passenger のインストールについて 1 2023/01/30 18:31
- サーバー WindowsでApache が起動しない 1 2022/11/29 12:21
- オープンソース Vue+Laravelのデザインテンプレートのサンプルが起動できない 1 2022/05/18 21:52
- その他(プログラミング・Web制作) ラズパイ上の、pythonのエラーについて 1 2023/04/12 23:27
- その他(プログラミング・Web制作) python 2 2022/12/23 09:06
- Java マイクラjavaでForgeを入れたいのですが、インストールした.jarファイルが展開されてしまい中 1 2023/07/28 22:30
- UNIX・Linux shellscript内のコマンドを、sudo(toor)として実行 2 2022/09/23 15:05
このQ&Aを見た人はこんなQ&Aも見ています
-
「環境が人を育てる」って本当?環境によって人格や生き方は本当に変わるのか
環境が人生に与える影響は実際どれほどのものなのか、専門家の田宮由美さんに伺った。
-
実行時のNoClassDefFoundErrorが解決できません
Java
-
JSPやサーブレットでSystem.out.println()などでコンソールに出力できますでしょうか?
Java
-
Tomcatのプロジェクトのクラスパスの通し方
オープンソース
-
-
4
Javascript_submit()完了後に処理したい
JavaScript
-
5
JSPの処理の途中で、JavaScriptの処理をしたい
JavaScript
-
6
Statement ignored というエラー
Oracle
-
7
「%CATALINA_HOME%」とはどこのフォルダなのでしょうか? 環境設定が困っています
Java
-
8
PL/SQLのコンパイルエラーについて(ignored)
Oracle
-
9
ORA-01013のエラーについて経験のある方お願いします。
Oracle
-
10
private static という変数の修飾
Java
-
11
GROUP BYを使ったSELECT文の総件数を求める方法
SQL Server
-
12
java.lang.NumberFormatException: For input string: "について
Java
-
13
”Tortoise SVN” と ”Subversion”って違いはなんですか?
その他(開発・運用・管理)
-
14
EBCDIC⇒SJIS変換の方法
その他(プログラミング・Web制作)
-
15
バッチ処理でファイルの中身を変数に入れるやり方
その他(プログラミング・Web制作)
-
16
vssver2.scc って消してもいいんですか?
Windows 8
-
17
Eclipseで、プロジェクト名のところに赤いバッテンのエラーマークが
Java
-
18
【C#/Java?】try-catchでcatchせずにfinallyは一般的?
その他(プログラミング・Web制作)
-
19
exeファイルの中身を見ることは可能ですか?
フリーソフト
-
20
Javaのバージョンアップにともなう影響調査について
Java
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
classファイルについて
-
eclipse でclassesフォルダーが...
-
「メイン・マニフェスト属性が...
-
showSaveDialogを使ったファイ...
-
javaでファイルの実態チェック(...
-
サーバから落としてきたWebアプ...
-
”書きこみできません”とエラー...
-
プログラミング初心者なんです...
-
マイクラjavaでForgeを入れたい...
-
html上で、バッチやexeファイル...
-
eclipseの自動フォーマットの設...
-
Eclipseで次のエラー箇所にジャ...
-
Eclipseで、プロジェクト名のと...
-
vs codeはオフラインでも使用で...
-
javaとperlのcgi
-
C言語について。
-
IEの印刷機能を制御して印刷設...
-
javaw.exeプロセスが正常起動し...
-
Apacheが動きません
-
JSPのクラスをコンパイルできな...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
Eclipse・プロジェクトで、フォ...
-
classファイルについて
-
javaクラスファイルをEclipseで...
-
Eclipse「リフレッシュ」と「ク...
-
SVFの設定について:クラスパス...
-
eclipse でclassesフォルダーが...
-
【Eclipse】パッケージ・エクス...
-
earファイルを展開する方法
-
EclipseでHTTP404エラーが出る。
-
jdbcドライバのjarファイルにク...
-
プログラム実行の際に、「ソー...
-
「メイン・マニフェスト属性が...
-
「削除するか、クラスパスの正...
-
コンパイルをしようとするとエ...
-
java クラスファイルとソースコ...
-
『ClassNotFoundException: org...
-
javax.mailがimportできない
-
ResourceBundleクラスの使い方
-
macでのファイル場所指定
-
「main メソッドを持つクラスが...
おすすめ情報