`
只帅一次
  • 浏览: 32757 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

使用javac进行编译,并且使用java进行运行时可能遇到的问题与解决

    博客分类:
  • java
阅读更多

引子:在写静态引入的一篇文章的时候,用到了javac,以及java命令,因为不经常使用所以出现了很多问题,现与大家分享

 

  1. 用javac的时候如果这个类有包怎么办?

  • 解决一:直接用javac编译,然后创建包目录,把这个class放到正确的包目录下。
  • 解决二:上面一种方法很笨,用
javac -d . *.java 

     可以直接编译后放入对应的目录下

     “-d”则是设置类文件的目标目录。如果某个类是一个包的组成部分,则 javac 将把该类文件放入反映包名的      子目录中,必要时创建目录。

   2. 如何打包编译好的类?

  示例如下:

jar -cvf Print.jar bupt\chj\*

 规范如下:

 

写道

 

jar命令格式:jar {c t x u f }[ v m e 0 M i ][-C 目录]文件名...

其中{ctxu}这四个参数必须选选其一。[v f m e 0 M i ]是可选参数,文件名也是必须的。

-c 创建一个jar包
-t 显示jar中的内容列表
-x 解压jar包
-u 添加文件到jar包中
-f 指定jar包的文件名

-v 生成详细的报造,并输出至标准设备
-m 指定manifest.mf文件.(manifest.mf文件中可以对jar包及其中的内容作一些一设置)
-0 产生jar包时不对其中的内容进行压缩处理
-M 不产生所有文件的清单文件(Manifest.mf)。这个参数与忽略掉-m参数的设置
-i 为指定的jar文件创建索引文件
-C 表示转到相应的目录下执行jar命令,相当于cd到那个目录,然后不带-C执行jar命令

 

3. 如何创建一个可执行jar包?

   所用的两个文件:

package bupt.chj.bean;
public final class people
   {
              public static int age()
              {
                     return 30;
              }
   }

 

package bupt.chj.test;
import bupt.chj.bean.*;
public class test
   {
              public static void main(String[]args)
        {
                     System.out.println(people.age());
              }
   }

 test是主类。调用了people类的静态方法,输出30.

步骤如下:

  1. javac -d . *.java
  2. jar -cvf test.jar *
  3. 修改manifest.mf 加入:Main-Class: bupt.chj.test.test
  4. java -jar test.jar   

4. 如何使用一个jar包在java的时候?

示例:

javac -cp Print.jar test.java
java -classpath Print.jar; test

 

 

分享到:
评论

相关推荐

    eureka:Eureka是围绕内部Javac树代码的流利API,使开发人员可以更轻松地在Java中执行编译时AST更改

    Eureka是围绕内部Javac树代码的流利API,使开发人员可以更轻松地在Java中执行编译时AST更改。 概述 内部Javac树代码会遇到许多问题,包括重复性和文档稀疏。 还需要经过反复试验才能弄清楚如何完成特定任务。 ...

    JAVA面试题最全集

    使用StringBuffer类与String类进行字符串连接时有何区别? 57.调用Thread类的destroy()方法有什么后果? 58.多线程,用什么关键字修饰同步方法?stop()和suspend()方法为何不推荐使用? 59.使用socket建立客户端...

    jitsi-android-257

    下载了jitsi android的版本代码后,直接导入eclipse可能报错,需要先使用命令生成一下libs库。 官方网站的步骤:https://github.com/jitsi/jitsi-android 针对上面的步骤可能会遇到如下的错误: 1.当运行ant ...

    学Java的第三天–三种注释及遇到问题

    如:javac -encoding utf-8 HelloWorld.java 方法二:保存文件时选择GB2312字体即可。 但是!!!我试了,不知道为什么,都没有用!!! 下面是我成功了的方法: 把编码这里改为ANSI,保存。 再次编译运行,成功 ...

    leetcode-LintCode:LintCodePython

    Defined编译问题,请删除TreeNode 、 GraphNode等。 Java Python中的一些算法由于OJ bug无法通过OJ; 因此,在完全相同的算法中提供了 java 中的替代解决方案。 在 Java 中运行: cd LintCode/java/src/main/java ...

    iuhyiuhkjh908u0980

    最近在部署应用时,遇到一个问题,就是ant脚本登录到linux机器上执行部署命令时,不知如何去写脚本。不知有没有哪位同学做过?以下是我的ant脚本: <project name="taxs_Admin" default="usage"> ...

    MineWalker:这是我要保留的学校项目

    专案5:Mine Walker 作者:梅森·托利(Mason ...我遇到的最困难的问题是尝试在进行临时更改后使颜色保持正确。例如,当玩家走上路径,然后露出路径时,在玩家再次隐藏路径后,它将弄乱颜色。我通过创建自己的方法

    EditPlus 2整理信箱的工具

    要运行已编译的 Java 类文件,你可以进行如下设置: 菜单文本:Java 命令:c:\java\bin\java.exe 参数:$(FileNameNoExt) 初始目录:$(FileDir) “命令”部分应当替换为实际的 Java 解释器的路径。 例子 2. Borland...

    Editplus 3[1].0

    要运行已编译的 Java 类文件,你可以进行如下设置: 菜单文本:Java 命令:c:\java\bin\java.exe 参数:$(FileNameNoExt) 初始目录:$(FileDir) “命令”部分应当替换为实际的 Java 解释器的路径。 例子 2. Borland...

    editplus 代码编辑器html c++ jsp css

    如果你使用 EditPlus 进行文本编辑,那么每次创建文本文件,编辑后保存时,尽管文件类型下拉列表中显示的是文本文件, EditPlus 还是询问你是否添加".txt"后缀,是不是很烦? 解决方法: ① 在程序目录建立一个空的...

Global site tag (gtag.js) - Google Analytics