• 締切済み

パッケージが存在しませんエラー

下記のようなファイルコピーをするソースを書きました。 import com.google.common.io.Files; try { File src = new File(srcPath); File dst = new File(dstPath); Files.copy(src, dst); } catch (IOException ex) { ex.printStackTrace(); } eclipse上で実行すると、コンパイルエラーも起きず、ファイルも正しくコピーされるのですが、 jarファイルにしたい為、build.xmlでコンパイルすると、エラーが出てしまいます。 [javac] D:\Documents\works\CheckImage.java:14: エラー: パッケージ com.google.common.ioは存在しません [javac] import com.google.common.io.Files; [javac] ^ [javac] D:\Documents\works\CheckImage.java:98: エラー: シンボルを見つけられません [javac] Files.copy(src, dst); どう対処したらいいか教えてください。

  • Java
  • 回答数1
  • ありがとう数1

みんなの回答

noname#247307
noname#247307
回答No.1

Eclipseで動かしてるなら、build.xmlなんか使わずエクスポートメニューでJarを作ればいいと思うんですが。それじゃまずいんでしょうか。 どうしてもというなら、<project>タグ内に<property name="classpath" value="Jarのパス"/>という感じでclasspathを追加してみてはどうでしょうか。

yurie1130
質問者

お礼

お礼が遅くなって失礼いたしました。 外部jarの配置の都合上、エクスポートではなくantを使っています。 Files.copy()を使用する際にimportするヒント一覧が出てきて、 そこからimport com.google.common.io.Files;を選びました。 eclipseインストール時に装備されているものかと思っていたのですが、classpathを追加しないといけないのでしょうか? jarファイルは見つからないのですが。

関連するQ&A

  • 「パッケージ javax.servlet.http は存在しません。」

    「パッケージ javax.servlet.http は存在しません。」というエラー 以下のようなエラーが出ます: C:\Users\Einhorn\mywork\myapp\WEB-INF\src\com\gokui>javac -classpath "C:\apache- tomcat-6.0.26\common\lib\servlet-api.jar" Sample016.java Sample016.java:3: パッケージ javax.servlet.http は存在しません。 import javax.servlet.http.HttpServlet; ^ Sample016.java:6: パッケージ javax.servlet は存在しません。 import javax.servlet.ServletException; ^ Sample016.java:7: パッケージ javax.servlet.http は存在しません。 import javax.servlet.http.HttpServletRequest; ^ Sample016.java:8: パッケージ javax.servlet.http は存在しません。 import javax.servlet.http.HttpServletResponse; ^ Sample016.java:9: シンボルを見つけられません。 シンボル: クラス HttpServlet public class Sample016 extends HttpServlet { ^ Sample016.java:15: シンボルを見つけられません。 シンボル: クラス HttpServletRequest 場所 : com.gokui.Sample016 の クラス public void doGet(HttpServletRequest request, HttpServletResponse respon se) ^ Sample016.java:15: シンボルを見つけられません。 シンボル: クラス HttpServletResponse 場所 : com.gokui.Sample016 の クラス public void doGet(HttpServletRequest request, HttpServletResponse respon se) ^ Sample016.java:16: シンボルを見つけられません。 シンボル: クラス ServletException 場所 : com.gokui.Sample016 の クラス throws ServletException, IOException { ^ エラー 8 個 …EclipseでTomcatを起動したときは問題なく動くんですけど、コマンドプロンプトからjavacだと動きません。 多分、classpathの設定に問題があるんでしょうけど、servlet-api.jarとjsp-api.jarへのclasspathはちゃんと設定されています: >set classpath CLASSPATH=.;C:\Program Files (x86)\Java\jre6\lib\ext\QTJava.zip; C:\Program Files (x86)\Java\jdk1.6.0_17\lib\tools.jar; C:\apache-tomcat-6.0.26\common\lib\servlet-api.jar; C:\apache-tomcat-6.0.26\common\lib\jsp-api.jar; スペック: Windows XP (64-bit) apache-tomcat-6.0.26-windows-x64.zip jdk-6u17-windows-i586.exe jre6 上記の通り、ちゃんと-classpathで指定しているのにエラーが出ます。 後は何を確認すればよいのでしょうか? 必要であれば補足しますので、どうか助けてください。

    • ベストアンサー
    • Java
  • コマンドプロンプトのエラー

    Windows10です コマンドプロンプトで、Java のサンプルプログラムをコンパイルしようとすると、以下のようになります。何が原因でしょうか? C:\Program Files\Java\jdk-15.0.1\src →ここにHello.java のサンプルプログラム(テキスト)は存在します。 C:\Program Files\Java\jdk-15.0.1\bin\→ここにjava.exeは存在します --------------------------------- (以下、コマンドプロンプトの画面) C:\Program Files\Java\jdk-15.0.1\src>C:\Program Files\Java\jdk-15.0.1\bin\javac Hello.java 'C:\Program' は、内部コマンドまたは外部コマンド、 操作可能なプログラムまたはバッチ ファイルとして認識されていません。

  • java プログラミング 文法 エラー

    このjavaプログラムはエラーが出るんですが、何が間違ってるんでしょうか? プログラムは一行のみです。 「cpp: error trying to exec 'cc1plus': execvp: No such file or directory」 エラーは以下の通りです。 [javac] /usr/local/sen/src/java/net/java/sen/util/DoubleArrayTrie.java:1: class または interface がありません。 [javac] cpp: error trying to exec 'cc1plus': execvp: No such file or directory [javac] ^ [javac] /usr/local/sen/src/java/net/java/sen/util/DoubleArrayTrie.java:1: 文字リテラルが閉じられていません。 [javac] cpp: error trying to exec 'cc1plus': execvp: No such file or directory [javac] ^ [javac] /usr/local/sen/src/java/net/java/sen/util/DoubleArrayTrie.java:1: 文字リテラルが閉じられていません。 [javac] cpp: error trying to exec 'cc1plus': execvp: No such file or directory [javac] ^ [javac] エラー 3 個 [javac] 警告 3 個 アドバイスよろしくお願いします。

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

    Javaのコンパイルが通らず悩んでいます。よい解決方法がありましたら、教えてください。 早速ですが、*.javaでコンパイルするとエラーが出ず、Hoge.javaの様にファイル名を指定すると『シンボルを見つけられません。』と、コンパイルエラーが発生してしまいます。 まず環境ですが、WindowsXP Pro SP3 で、Javaのバージョンは   C:\com\st\sample\scr>java -version   java version "1.5.0_10"   Java(TM) 2 Runtime Environment, Standard Edition (build 1.5.0_10-b03)   Java HotSpot(TM) Client VM (build 1.5.0_10-b03, mixed mode, sharing) で、CLASSPATHは、   CLASSPATH=.;.\WEB-INF\classes;.\WEB-INF\lib\struts-core-1.3.8.jar;C:\Tomcat5.5\common\lib\servlet-api.jar;C:\Java\JRE1.5.0\lib\ext\QTJava.zip となってます。 実際には、 C:\com\st\sample\srcというフォルダーがあります。その中にはSampleServlet.javaとSampleBean.javaとSampleBean.classの3つのファイルがあります。 SampleServlet.javaとSampleBean.javaはパッケージ管理するよう    package com.st.sample.src; を記述してあり、SampleServlet.javaには   import com.st.sample.src.*; も記述してあります。 そこで、   C:\com\st\sample\src>javac *.java を実行すると、コンパイルエラーは出ずに2つのclassファイルが作成されます。 しかし、個別に   C:\com\st\sample\src>javac SampleBean.java を実行するとコンパイルエラーは出ないものの、   C:\com\st\sample\src>javac SampleServlet.java を実行すると、   SampleServlet.java:24: シンボルを見つけられません。   シンボル: クラス SampleBean   場所 : com.st.sample.src.SampleServlet の クラス    SampleBean sb = new SampleBean();    ^   SampleServlet.java:24: シンボルを見つけられません。   シンボル: クラス SampleBean   場所 : com.st.sample.src.SampleServlet の クラス    SampleBean sb = new SampleBean();    ^ というエラーが発生してしまいます。 *.javaだと問題なくコンパイルが通り、ファイル名を指定するとコンパイル通らないのでしょうか?設定が不足しているのでしょうか?ご存知でしたら、何かアドバイスを頂けないでしょうか。御願い致します。

    • ベストアンサー
    • Java
  • 同一パッケージにあるクラスが見つからないエラー

    Tomcatとeclipseを用いてjspによるウェブアプリ開発の勉強をしているものです。 tagsrch.java内のメソッドに、同一パッケージ(フォルダ名:mangasearch)内のmangalist.javaで定義したmangaクラスというクラスを使いたいのですが、以下のように、シンボルが見つけられないというエラーが出てしまいます。 C:\(中略)\mangasearch>javac tagsrch.java tagsrch.java:11: エラー: シンボルを見つけられません public static List<manga> searchByKey(String k[]) throws IOException{ ^ シンボル: クラス manga 場所: クラス tagsrch tagsrch.java:14: エラー: シンボルを見つけられません manga[] list = new manga[cnum]; 同一パッケージ内に置かれている以上、tagsrch.javaにおいてmangaクラスが使えるはずだと思います。 ですが、いろいろなサイトを参考にして試してもmangaクラスが見つからないまま、tagsrch.javaがコンパイルできません。 初歩的質問で申し訳ありませんが、よろしくお願いいたします。 -参考- 1.いろいろ試したこと  1-1.カレントディレクトリを保存している場所より1つ上の場所でコンパイルする。  eclipseでtomcatプロジェクトを作成したため、どのクラスファイルにもpackage mangasearch;が含まれていました。なので1-1.を行い「javac パッケージ名/ファイル名」でコンパイルしてみました。  1-2.クラスパスを入れてコンパイルしてみる。  同一パッケージ内なので、この必要はないはずですが、  C:\(中略)\mangasearch>javac -classpath C:\(中略)\mangasearchでコンパイルしてみました。   下記のURLを参考にこの対策を講じましたが、エラーは変わりませんでした。  1-1.1-2.の参考URL:http://okwave.jp/qa/q2520327.html  1-3.メソッドをmangalist.java(mangaクラス)上で定義してしまう。  分割をあきらめ、tagsrch.java上のメソッドをmangalist.javaのmangaクラス上に定義してみました。 publicつけたままだと、 C:\(中略)\mangasearch>javac mangalist.java mangalist.java:76: エラー: クラスtagsrchはpublicであり、ファイルtagsrch.javaで宣 言する必要があります となったため、publicをとりました。するとコンパイルは出来ましたが、おそらく異なるパッケージからは使えないクラスとなったため、jsp上でアクセスできないというエラーが発生しました。 org.apache.jasper.JasperException: javax.servlet.ServletException: java.lang.IllegalAccessError: mangasearch/tagsrch このため、分割してtagsrch.javaを宣言する必要があり、1-3.の対策では最初にあげたmangaクラスを認識する問題に帰着すると思われます。 2.mangalist.java/tagsrch.javaについて mangalist.javaのコンパイルはできています。 mangalist.javaは、ただ単にmangaクラスとそれに付随するフィールド、コンストラクタを記述しただけのファイルです。 ■mangalist.java package mangasearch; class manga{ フィールド名 ・・・    manga(){    //コンストラクタ    } } ■tagsrch.java public class tagsrch extends manga{ メソッド{     } }

    • ベストアンサー
    • Java
  • makefile でファイルをコピーする方法

    makefileであるディレクトリ(SRC_DIR)以下のファイル(ディレクトリ)のうち「CVS」以外を、別のディレクトリ(DST_DIR)へコピーしたいのですが、どのように記述したらよいのでしょうか? 記述例(途中): SRC_DIR = ./src DST_DIR = ./dst FILES = $(shell ls $(SRC_DIR)); FILES_TO_REMOVE = CVS FILES_TO_COPY = $(filter-out $(FILES_TO_REMOVE), $(FILES)); # ↑ ここまでで、コピーすべきファイルのリストが作成できた # ↓ ここからどのように記述したらいいか? all:     

  • servlet でコンパイルエラー

    tomcat5.0.27 でservletの開発をしようとしています。 javac NodeBean.java を実行すると --- NodeBean.java:15: パッケージ common は存在しません。 import common.WingsUtil; ^ NodeBean.java:183: シンボルを解決できません。 シンボル: 変数 WingsUtil 場所 : ip.NodeBean の クラス objSql.append("ip_node." + param[i] + "= '" + WingsUtil.sqlEscape(value[i]) + "' "); ^ ---- webapps\ip\WEB-INF\classes\common と webapps\ip\WEB-INF\classes\ip という構造です。 ちなみにサンプル等は正常にコンパイルできます。 javac -classpath "fullpath\common" NodeBean.java としても同じエラーがでます。

  • パッケージのエラーについて

    パッケージのエラーについてなのですが、コンパイルできずにいます。 C:\java\13\r内に Car.java rensyu1.javaをおいています。 コマンドプロンプトには C:\java\13> と表示させています。classpathの設定はしていません。 システム内の環境設定はしました。 ------------------------Car.java package r; class Car { private int num; private double gas; public Car() { num = 0; gram = 0.0; System.out.println("車を作成しました。"); } public void setCar(int n, double g) { num = n; gram = g; System.out.println("ナンバー:" + number + "ガソリン:" + gas + "です。"); } public void show() { System.out.println("車のナンバーは" + number + "です。"); System.out.println("ガソリン量は" + gram + "です"); } } -------------------------------------rensyu1.java package r; class rensyu1 { public static void main(String args[]) { Car car1 = new Car(); car1.show(); } } やさしいjavaという本を参考にしていまして 教科書どうりですと javac r\rensyu1.java java r.rensyu1でコンパイルできるはずでしたが 「シンボルを見つけられません」というエラーが出ます。 気になるのが、ファイルr内にCar.classがありません。 他にもjavac -classpath . rensyu1.java を入力してみましたが、こちらは 「無効なフラグです」というエラーがでます。 教えていただけると助かります。宜しくお願いします。

    • ベストアンサー
    • Java
  • strutsの加算処理

    私はstruts、java初心者です! 今回strutsを利用して簡易電卓のwebアプリケーションを作ろうと思ったのですが、なかなか難しくいろいろなサイトからサンプル等をさがしてみました。 その結果下記のサイトの足し算を行うwebアプリケーションのサンプルがあったのでその通りに作成してみたのですが、コンパイルで失敗してしまい、原因が分からないので投稿しました!! ↓参考ページ http://www.aiosl-tec.co.jp/java-start/chap13.html 開発環境は ・Java2SDK,Standard Edition 1.4.1_02 ・Apache Tomcat 4.1.24 ・Struts 1.1 ・Apache Ant 1.5.3 ・Eclipse 3.0 です。 コンパイル時のエラーは Buildfile: D:\works\workspace\struts-test\WEB-INF\src\build.xml clean:[delete] Deleting directory D:\works\workspace\struts-test\WEB-INF\classes [mkdir] Created dir: D:\works\workspace\struts-test\WEB-INF\classes prepare: resources:[copy] Copying 1 file to D:\works\workspace\struts-test\WEB-INF\classes compile:[javac] Compiling 2 source files to D:\works\workspace\struts-test\WEB-INF\classes [javac] D:\works\workspace\struts-test\WEB-INF\src\struts\TestAction.java:9: java.lang.Object にアクセスできません。 [javac] クラスファイル C:\Program Files\Java\jre1.6.0_07\lib\rt.jar(java/lang/Object.class) は不正です。 [javac] クラスファイルのバージョン 49.0 は不正です。48.0 であるべきです。 [javac] 削除するか、クラスパスの正しいサブディレクトリにあるかを確認してください。 [javac] public final class TestAction extends Action { [javac] ^ [javac] エラー 1 個 BUILD FAILED: D:\works\workspace\struts-test\WEB-INF\src\build.xml:56: Compile failed; see the compiler error output for details. Total time: 2 seconds です。(どの部分がエラーか分からなかったのでコンパイル時に表示されるものを全て載せさせてもらいました) とても長くてすみません。 すごく困っているので回答よろしくお願いします。

  • 同一パッケージ内の継承について

    同一パッケージ内で継承したクラス Test2.java をコンパイルすると「シンボルを見つけられません シンボル:クラス Test1」とエラーになります。 --------Test1.java------- package test; public class Test1{ メソッド } ------------------------- --------Test2.java------- package test; public class Test2 extends Test1{ メソッド } ------------------------- Test1.java,Test2.javaとも同一フォルダ(D:\java\test)にあります。 ちなみにカレントディレクトリをD:\java\testにして javac Test2.java でコンパイルしようとしています。 同一パッケージ内のクラスを継承するというのはおかしなことなんでしょうか?また、コンパイルの仕方もあわせてご教示願えれば助かります。 よろしくお願いします。

    • ベストアンサー
    • Java