• 締切済み

cygwinでjavaが動かない

タイトル通りなのですがcygwin1.1上でjavaを動かそうとすると Exception in thread "main" java.lang.NoClassDefFoundError: Example1/java というエラーメッセージが出ます。 しかし、dosプロンプト上でならちゃんと動いたので プログラムのミスという訳でもないと思います。 以下がソースです。 class Example1 { public static void main(String args[]) { System.out.println("This is the output from Example1"); } } クラスパスは以下のような設定です。 /jsdk/lib/jsdk.jar:/jdk/lib/tools.jar:/tomcat/lib/jasper.jar:/tomcat/lib/servlet.jar:/tomcat/lib/webserver.jar:/tomcat/lib/xml.jar:./ 気になることが1つ。コンパイルだけはcygwin上でできるのです。 そしてcygwin上でコンパイルした.classファイルは dosプロンプトで無事に実行できました。 まとめるとcygwinという環境でコンパイルだけできて実行ができない しかしDOSプロンプトだとコンパイルも実行もできる、です。 目的はcygwin上でjavaを実行できるようにしたい、です。 環境は Windows98SE J2SDK1.3 J2EE1.2.1 Tomcat3.1.1 Cygwin1.1 bash 2.04.0(8)

  • manvi
  • お礼率5% (1/18)
  • Java
  • 回答数3
  • ありがとう数5

みんなの回答

  • inetd
  • ベストアンサー率23% (43/184)
回答No.3

実行するときにコマンドラインでどのように入力していますか? エラーを見ると Example1/java というクラスがないと出ていますが、 もしや java Example1.java と入力してませんか? もしそうだと するとエラーになって当然です。java Example1 とやって実行する 必要があります。

  • inetd
  • ベストアンサー率23% (43/184)
回答No.2

クラスパスの設定をなくすとどうなりますか? unset CLASSPATH ; java Example1 多分実行できると思います。 その理由は java.exe コマンドの解釈する CLASSPATH の区切り文字は セミコロンで区切られたウィンドウズのパスでなければならないからです。 なので .bashrc や .bash_profile の中などで CLASSPATH を設定する 個所は export CLASSPATH='c:\jsdk\lib\jsdk.jar;c:\jdk\lib\tools.jar; ...' といった感じになってないと駄目だと思います。

  • AKIIRA
  • ベストアンサー率38% (15/39)
回答No.1

手元に実行環境がないのであまり自身はないのですが、 ".bashrc"というファイルを作成し、その中でJAVA_HOMEという環境変数にSDKのパスを設定してやればいいのではないでしょうか?

manvi
質問者

補足

SDKのパスというのはSDKのホームディレクトリですで大丈夫ですか? JAVA_HOMEも設定してありますがそれでもできません。 よろしくお願いします。

関連するQ&A

  • WIN98seへのtomcatの実装方法について

    tomcatのクラスパスの設定についてですが、 WIN98SEでは、 autoexec.batで、行うのでしょうか ちなみにJSDK1.3は、Dドライブに入っています、 tomcatも同じドライブに入っています。 java pressの15号を見ると以下のように書いています。 c:\jakarta-tomcat\lib\jasper.jar c:\jakarta-tomcat\lib\servlet.jar c:\jakarta-tomcat\lib\webserver.jar c:\jakarta-tomcat\lib\xml.jar と書いてあるのですが、 DOS画面で、 D:WINDOWS>set classpath このあとに続けて書けばよいのか教えてください。 初歩的な質問で、申し訳ありませんが なるべく詳細に教えてくださいませんでしょうか?

  • java.lang.ClassNotFound

    eclipseを使ってデータベースの検索を行いたいのですが、実行すると java.lang.ClassNotFoundException: com.mysql.jdbc.Driver とエラーが出ます。ビルド・パスのライブラリーには下記のものが入っているのですが あとは何が足りていないのでしょうか? jstl.jar standard.jar TOMCAT_HOME/common/lib/jasper-runtime.jar TOMCAT_HOME/common/lib/jsp-api.jar TOMCAT_HOME/common/lib/servlet-api.jar jdk1.5.0_22

    • ベストアンサー
    • MySQL
  • 外部jarへのパスの通し方

    はじめまして。パスの通し方について教えてください。 javaを勉強しようと、 j2sdk1.4.1_04 jakarta-log4j-1.2.8 tomcat_5.0.16 eclipse2.1.1 をダウンロードして、環境を設定しようとしているところです。 しかし、外部jar(log4j、tomcat)を使用したSRCをコンパイルしようとしても、javax.servlet.httpが見つかりません等のエラーが出てしまいます。 eclipseでは、外部jarを取り込んでいるので、コンパイルが通って動作確認(log4jのみ)は済んでいます。 ただし、コマンドプロンプトからのコンパイルでは上記のようなエラーが出てしまいます。 PATHは JAVA_HOME: C:\j2sdk1.4.1_04 TOMCAT_HOME: C:\Program Files\Apache Software Foundation\Tomcat 5.0 LOG4J_HOME: C:\jakarta-log4j-1.2.8 CLASS_PATH .;%LOG4J_HOME%\dist\lib\log4j-1.2.8.jar;%TOMCAT_HOME%\common\lib\ant.jar;%TOMCAT_HOME%\common\lib\commons-collections.jar・・・ (C:\Program Files\Apache Software Foundation\Tomcat 5.0\common\lib\配下全てのjar) に設定してあります。(インストールは全てデフォルト、解凍するものはC直下に解凍してあります。eclipseも同様のものを外部jarとして取り込んであります。) 何か、根本的に間違っているのでしょうか? よろしくお願いします。 ★最終的には、MY_SQLを使用しservletからDBアクセスという環境を設定したいと思っています。 長文失礼しました。

  • javaの実行環境

    javaの勉強をしようと思い、以下のhelloworldコードを書いてみました。 public class HelloWorld { public static void main(String[] args) { System.out.print("Hello World\n"); } } それを、以下のようにlinux環境(ubuntu 10.10)でコンパイル実行しようとしたのですが、 javac HelloWorld.java java HelloWorld.class Exception in thread "main" java.lang.NoClassDefFoundError: ・・・ と怒られてしまいました。そこで色々調べて jar cvmf manifest.mf test HelloWorld.class とjarファイルを作成して実行したところ、適切に"Hello World"が表示されました。 (manifest.mfの中身は"Main-Class: HelloWorld"1行だけです。) その後、このjarファイルをwindows環境に持っていって実行したのですが、 Exception in thread "main" java.lang.NoClassDefFoundError: ・・・ と怒られてしまいました。 linux環境で、"echo $CLASSPATH"を実行しても何も表示されず、CLASSPATHはどこにも通っていないようです。 また、windows環境のDOS画面にてSETを実行し、環境変数を表示させてもCLASSPATHはありませんでした。(javaはインストール済みです。) で、質問です。 1)なぜjarにすると実行でき、classファイルのままでは実行出来なかったのでしょうか? 2)windows環境で、CLASSPATHを設定したほうが良いのでしょうか?設定する場合は、prgramfiles\java\binで良いのでしょうか? 以上、長くなり申し訳ないのですが、よろしくお願いします。

    • ベストアンサー
    • Java
  • javaが出来ません

    簡単な質問で申し訳ないのですが、 j2sdk1.4.1をインストールして "HelloWorld"とDOSで表示しようとしたのですが javac HelloWorld.java までは出来てclassもあるのですが java HelloWordを実行しようとしのですが、 Exception in thread "main" java,lang.NoClassDefFoundError:HelloWorld と表示されます。 どうしたらいいのでしょうか? お願いします。

    • ベストアンサー
    • Java
  • javaのコンパイルがうまくいきません。

    現在javaのFileUploadクラスを使用してファイルをサーバへアップロードするアプリケーションを作成しております。 コンパイルにはANTを使用しています。 動作環境: WindowsXP sp2 jdk1.5.0_10 tomcat5.5.23 Apache Ant 1.7.0 現象: 作成したjavaファイルをコンパイルしようとするとDiskFileUploadクラスとFileItemクラスまたHttpSessionクラスのシンボルを見つけられませんとなりコンパイルが通りません。 環境変数: JAVA_HOME = "c:\Program Files\java\jdk1.5.0_10" ANT_HOME = "C:\Program Files\Apache Software Foundation\apache-ant-1.7.0" CATALINA_HOME = "C:\Program Files\Apache Software Foundation\Tomcat 5.5" path = "%JAVA_HOME%\bin;C:\Program Files\Apache Software Foundation\apache-ant-1.7.0\bin" CLASSPATH = ".;%JAVA_HOME%\lib\tools.jar;%CATALINA_HOME%\common\lib\servlet-api.jar;%CATALINA_HOME%\common\lib\commons-fileupload-1.2.jar;%CATALINA_HOME%\common\lib\commons-io-1.3.2.jar" となります。 tomcatのcommon\libがうまく参照できていないからなのでしょうか? とすればそれはなぜなのでしょうか? ご教授いただければと思います。よろしくお願いいたします。

    • ベストアンサー
    • Java
  • servletコンパイル

    今、自分は、forteを使って、servletをコンパイルしています。 それで、今回は別マシンでforteを使わずにservletをコンパイル することができなくて困っています。 それは、servletをコンパイルするにあたって、jsdkを使って コンパイルするという事はここ↓ http://oshiete1.goo.ne.jp/kotaeru.php3?q=107825 で知りました。で、試したのですが、うまく行きません。 と、言うのもpathの設定で、servlet.jarが、自分の落とした、 jsdkには入っていないのです。jsdkは、ここ↓ http://java.sun.com/products/servlet/archive.html のjsdk2.1のwin95/NTを落としまして、インストールしました。 そして、pathを、j2sdk1.4.0_02を使っているので、 c:\j2sdk1.4.0_02\bin;d:\jsdk2.1\webpages\WEB-INF\servlets\server.jar; c:\jsdk2.1\webpages\WEB-INF\servlets\servlet.jar\test.java としました。 しかし、「シンボルを処理できません」と怒られます。 その中で、どうも、servletクラスを設定できてないと思われます。 他の方法でも、HPでもかまいませんので、ご教授願います。 よろしくお願いします。 環境は、 win2k j2sdk 1.4.0_02 JRun 3.0 です。

    • ベストアンサー
    • Java
  • cygwinでjavaを実行するとエラー

    cygwinでjavaを実行するとエラーになるのですが、 解決策を教えていただけないでしょうか。 こんな所で数時間も考えてしまっており、作業が滞っています。 どなたか教えていただけないでしょうか。よろしくお願い致します。 cygwin上でenvを実行した時の結果です。(一部抜粋) JAVA_HOME=/cygdrive/c/Program Files/Java/jdk1.6.0_31 CLASSPATHも設定していたのですが、HelloWorld位だったら必要ないかと思い、unsetしました。 cygwinでプロジェクト直下に移動して、 コマンド「java HelloWorld」を実行すると以下のエラーとなる。 ============================================================================= $ java HelloWorld java.lang.NoClassDefFoundError: HelloWorld at java.lang.ClassLoader.defineClass1(Native Method) at java.lang.ClassLoader.defineClassCond(Unknown Source) at java.lang.ClassLoader.defineClass(Unknown Source) at java.security.SecureClassLoader.defineClass(Unknown Source) at java.net.URLClassLoader.defineClass(Unknown Source) at java.net.URLClassLoader.access$000(Unknown Source) at java.net.URLClassLoader$1.run(Unknown Source) at java.security.AccessController.doPrivileged(Native Method) at java.net.URLClassLoader.findClass(Unknown Source) at java.lang.ClassLoader.loadClass(Unknown Source) at sun.misc.Launcher$AppClassLoader.loadClass(Unknown Source) at java.lang.ClassLoader.loadClass(Unknown Source) Could not find the main class: HelloWorld. Program will exit. Exception in thread "main" ============================================================================= 因みに、ソースは以下です。 [HelloWorld.java] package co.jp.test; public class HelloWorld { public static void main(String args[]){ System.out.println("HelloWorld"); } } また、ソースをパッケージから取り出して(パッケージを削除)、 プロジェクト直下にコピーして実行するとうまくいきます。 明らかに、パッケージにあるファイルをjavaコマンドで実行する時の固有のエラーかと思うのですが、 パッケージに含まれるファイルをcygwinで実行する時に気をつけることはありますでしょうか? 因みに、ソースは以下です。 [HelloWorld.java] public class HelloWorld { public static void main(String args[]){ System.out.println("HelloWorld"); } }

    • ベストアンサー
    • Java
  • Tomcat & Axisの設定

    @ITや豆蔵のサイトを見て、Apache Tomcat1.4とAXIS1.0を使ったWebアプリケーションにトライしてみようと思っているのですが、以下のようなエラーが出てしまいます。 (AXIS付属のサンプルを実行した結果です) C:\xml-axis-10>java samples.userguide.example3.Client HELLO Exception in thread "main" java.lang.NoClassDefFoundError: javax/servlet/ServletContext 違うサンプルも試してみたのですが、同じエラーが出ました。何らかの設定の間違いだと思うのですが、何が間違っているのかわかりません。どのように直せばよろしいのでしょうか?よろしくお願いします。 OS:WinME 環境変数 axis_home : c:\xml-axis-10 java_home : C:\j2sdk1.4.0_01 classpath : .;C:\xml-axis-10\lib\axis.jar;C:\xml-axis-10\lib\axis-ant.jar;C:\xml-axis-10\lib\commons-discovery.jar;C:\xml-axis-10\lib\commons-logging.jar;C:\xml-axis-10\lib\jaxrpc.jar;C:\xml-axis-10\lib\log4j-1.2.4.jar;C:\xml-axis-10\lib\saaj.jar;C:\xml-axis-10\lib\wsdl4j.jar;C:\xml-axis-10\lib\xerces.jar

    • ベストアンサー
    • Java
  • Javaアプリケーションについて

    次のようなプログラムを作ってコンパイルをしました。 public class app { public static void main(String[] args) { System.out.println("Hello from Java!"); } } コンパイルまではできるのですが、 java appで実行しようとすると Exception in thread "main" java.lang.NoClassDefFoundError:app となって、アプリケーションを実行することができません。 本には、これで実行できると書いてあるのですが・・・ どなたか教えてください。

    • ベストアンサー
    • Java

専門家に質問してみよう