`
只帅一次
  • 浏览: 34586 次
  • 性别: 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

 

 

分享到:
评论

相关推荐

    javac编译成功用java运行class文件出现“找不到或无法加载主类”的问题解决起来很简单.doc

    在 Java 开发中,经常会遇到一个问题,即 javac 编译成功后,用 java 运行 Class 文件却出现“找不到或无法加载主类”的错误信息。这种问题看似很复杂,但实际上解决起来非常简单。下面我们将详细讲解该问题的解决...

    java源代码反编译

    在使用JadGUI或其他反编译工具时,你可能会遇到一些挑战,比如遇到混淆过的代码或无法完全还原的结构。混淆是一种故意使代码难以阅读的技术,通常用于保护知识产权。在这种情况下,反编译结果可能难以理解,可能需要...

    命令行编译和运行java类

    在日常的软件开发过程中,开发者经常会遇到需要在命令行环境下编译和运行Java程序的情况。本文将详细介绍如何在DOS(Disk Operating System)环境下,通过命令行工具编译和运行Java程序。 #### 创建目录结构 在...

    java手动编译步骤原理

    Java手动编译步骤原理 ...手动编译Java程序是一个基础但重要的过程,它帮助我们理解Java的编译和运行机制,以及如何解决编程过程中遇到的问题。通过实践,我们可以更好地掌握Java编程,为更复杂的项目打下坚实的基础。

    java能执行,javac不能执行的原因

    Java开发工具包(JDK)是Java开发的基础,它包含了Java运行环境(JRE)、Java编译器(javac)以及其他开发工具。JRE主要负责提供Java程序运行所需的环境,而JDK则在JRE的基础上增加了编译、调试和分析工具,其中最重要的...

    java命令行编译说明

    ### Java命令行编译详解 在深入探讨Java命令行编译的具体...虽然这可能比使用IDE时更显繁琐,但它帮助开发者深入理解Java编译和运行的底层机制,从而在遇到编译错误或运行时问题时,能够更加准确地定位和解决问题。

    DOS环境下带有自定义包的java程序的编译与运行

    3. **错误信息**:如果编译或运行时遇到问题,DOS会显示错误信息,仔细阅读这些信息可以帮助定位和解决问题。 总结一下,DOS环境下编译和运行带有自定义包的Java程序需要理解Java的包机制,正确安排源代码文件的...

    编译时出现java.lang.OutOfMemoryError Java heap space异常

    在进行Java项目编译的过程中,可能会遇到`java.lang.OutOfMemoryError: Java heap space`这种异常。这类异常通常表明Java虚拟机(JVM)在运行过程中遇到了内存不足的问题,特别是当堆内存无法满足程序的需求时。 ##...

    javac源码和运行说明文件.zip

    - 如果遇到问题,可以参考压缩包内的"javac环境搭建说明.txt"进行解决。 4. **Eclipse集成**: - 在Eclipse中,创建一个新的Java项目,将javac源码导入到项目中。 - 配置项目的构建路径,确保包含所有必要的JDK...

    Java类class反编译工具

    Java类class反编译工具是开发者在理解和学习Java字节码或者进行逆向工程时必不可少的辅助工具。这些工具能够将已经编译过的.class文件转换回可读性强的.java源代码,帮助我们查看和理解已有的Java类结构,尤其是在...

    Java上机问题整理及解决

    【Java上机问题整理及解决】是针对初学者在进行Java编程实践时遇到的问题的汇总。这些问题主要包括但不限于以下几个方面: 1. **“Unsupported major.minor version”错误**:这是一个常见的编译与运行版本不匹配的...

    7_常见dos命令 文件名和类名不同时编译运行的问题视频

    在Java编程中,我们经常会遇到文件名和类名不匹配导致的编译及运行问题,尤其是在使用DOS命令行进行操作时。这个问题的核心在于Java的命名规则和加载机制。本视频教程将深入讲解这一主题,帮助开发者理解并解决这类...

    nodepad++ java运行环境配置

    在本篇文章中,我们将深入探讨如何使用Notepad++(而非nodepad++,因为可能是笔误,这里我们讨论Notepad++)来配置Java运行环境,并实现方便地运行Java程序。通过以下详细步骤,您将能够更好地理解和操作Notepad++与...

    Java运行环境配置

    压缩包中的`Java环境变量配置.doc`文档可能提供了更详细的步骤和注意事项,包括特定操作系统的配置方法、遇到问题的解决方案以及最佳实践。建议仔细阅读该文档,以确保Java环境的顺利配置。 总之,Java运行环境的...

    javac 的 源 代 码

    1. 问题定位:当遇到编译错误时,深入源码能帮助快速定位问题所在。 2. 性能优化:理解编译器的工作机制,有助于编写更高效、更易于编译的代码。 3. 扩展与定制:对于大型项目或特定需求,可能需要自定义编译器...

    java反编译(附源代码)

    "whsvc"可能是指Windows服务组件,与Java反编译相关的场景可能是开发或调试运行在Windows服务环境下的Java程序。 在使用Java反编译工具时,通常需要按照以下步骤操作: 1. 获取目标.class文件,这可能来自已部署的...

    java中JDK在运行时出现的常见问题.docx

    本文将深入探讨在Java中使用JDK运行程序时可能出现的一些常见问题,并提供相应的解决策略。 1. **字符编码问题** 在描述中提到的问题主要涉及字符编码。Java源代码默认使用UTF-8编码,但如果你使用记事本或其他不...

Global site tag (gtag.js) - Google Analytics