LoginSignup
1
1

More than 5 years have passed since last update.

codevsのjava実行のやり方

Last updated at Posted at 2016-11-25

codevs for studentに参加しました。

友達から誘いがあり、コードvsに参加しました。
codevs https://student.codevs.jp/

今回からHardとNormal部門に分かれたらしく、初めてなのでNormal部門に参加。

javaでプログラムを書きました。
その際、結構はまったので今後のため、まとめときます。

http://charlie1012.hatenablog.jp/entry/2014/12/27/222419
http://blog.goo.ne.jp/field_light/e/d860f661e765928cb0fca532c02a64d1
を参考にさせてもらい、jarファイルで実行していたのですが、

決勝進出が決まり、決勝用の検証用サーバーで環境構築する際に初めて気がついたのですが、
jarにしなくてもできて えっ!できるじゃん!ってなりましたw

以下Main.javaファイルについて書きます

Javaで実行

codevsのjnlpを開いてみます。
image
ウィンドウの一番下に
directory: C:\Users\takumi\Desktop\codevs\codevsforstudent
と書いてあります。
このパスの直下にファイルをいれてあげれば実行できます。
この場合、Desktopにあるcodevsforstudentフォルダに、Main.javaとそのクラスたちを入れます。

javaをコンパイルし実行
javac Main.java
java Main
するとカレントフォルダにclassが作られます。
image
写真ではcodevsforstudentフォルダ内で作業しています。
最初にAI名のbebe.javaが表示されたので実行確認できました。

image
ちゃんとクラスがあるのを確認

image
cmdで実行したときのと同じコマンドのjava Mainと入力し実行を押せば実行できます。

またjava -cp パス Mainのように、パス(フルパス)を指定して実行してもできます。

javac Main.java & java Mainと書くことでコンパイルと実行を1回でできるのですが、
これはできないみたいなのでおとなしく java Main と書いたほうがよさそうです。

コンパイル後実行できないのはjavaのクラスパスが間違っているので、
set CLASSPATH=.;などでカレントフォルダをみるようにしたり、クラスパスの設定を変えれば実行できるようになります。

Jarで実行

上記のURLでまとめられていますが、一応書いときます。

jar化にする際にメインクラスを指定してあげるとできるみたいです。

テキストエディタで codevs.mani を
Main-Class: Main改行をして作成

javac Main.javaでコンパイルしファイルがあるフォルダで
jar cvfm codevs.jar codevs.mani *.class
でcodevs.jarができます。

実行はjava -jar codevs.jar

また eclipseなどの統合開発環境で出力することで、パッケージやメインクラスの指定を気にすることなく実行できます。

1
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
1