包的定义及导入(打包编译、运行以及jar命令的使用)

1.包的编译与运行

首先为什么要使用打包命令呢?

如果有多个人共同开发一个项目的时候,这时肯定会出现类名称相同的情况。这样以来开发就比较困难!因为相同的文件会出现覆盖的情况!于是我们采用了包的概念!

包的定义格式:

   package 包名称.子包名称;

例如:

package a.b; //定义一个包
public class Demo01//定义Demo01类
{
   public String getInfo()//定义getInfo方法
{
     return "helloworld";
   }
  }



程序打包编译:javac –d . Demo01.java

(记住是-d空格.空格)

包本身就是文件夹,所以打包编译后,编译的*.class路径为a.b.Demo01

此时,就可以直接运行class文件了!

程序运行:java a.b.Demo01.

输出结果:helloworld.

2.包的导入

什么时候使用包的导入命令呢?当一个包中的类要调用另一个包中的类时,就需要包的导入指令了!

包的导入格式:import 包的名称.子包名称.类名称 -->手工导入所需的类

                            import 包的名称.子包名称.*    -->由JVM自动加载所需要的类

 例如:

Demo01.java:

package a.b; //定义一个包
public class Demo01//定义Demo01类
{
   public String getInfo()//定义getInfo方法
{
     return "helloworld";
   }
  }


ImportDemo01.java:

package a.c; //定义一个包
import a.b.Demo01; //导入demo01类
public class ImportDemo01
{
	public static void main(String args[])
	{
		System.out.println(new Demo01().getInfo());//调用Demo01中的getInfo方法
	}
}


由代码可知,ImportDemo01.java需要用到Demo01.java中的Demo01类,所以我们用import a.b.Demo01;将其导入了进去!

然后在CMD命令中打包编译:

javac –d .Demo01.java

javac –d . ImportDemo01.java

java a.b. ImportDemo01

得到结果:helloworld!

3.Jar命令的使用!

 Jar命令可以将开发中使用的类进行压缩成.jar文件。

jar命令的只要参数:

  “c”创建新的文档

  “v”:生成详细的输出信息

   “f”指定存档的文件名

例如:

package a.b; //定义一个包
public class Demo01//定义Demo01类
{
   public String getInfo()//定义getInfo方法
{
     return "helloworld";
   }
  }
将其打包编译:javac -d . Demo01.java

将其打成jar包:jar -cvf my.jar a

打包成功后,会看到:

已添加清单
正在添加: a/(输入 = 0) (输出 = 0)(存储了 0%)
正在添加: a/b/(输入 = 0) (输出 = 0)(存储了 0%)
正在添加: a/b/Demo01.class(输入 = 280) (输出 = 217)(压缩了 22%)
正在添加: a/c/(输入 = 0) (输出 = 0)(存储了 0%)
正在添加: a/c/ImportDemo01.class(输入 = 488) (输出 = 323)(压缩了 33%)

文件夹a被打包成了my.jar,这是可以删除文件夹a.

要想调用jar包中的Demo01类,则必须先设置classpath;

set classpath=,;d:\testjava\packDemo\my.jar
设置的路径便是你压缩的.jar的路径!

package a.c; //定义一个包
import a.b.Demo01; //导入demo01类
public class ImportDemo01
{
	public static void main(String args[])
	{
		System.out.println(new Demo01().getInfo());//调用Demo01中的getInfo方法
	}
}
然后将其编译

javac -d . ImportDemo01.java

运行

java a.c.ImportDemo01


输出

helloworld






     

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: 当我们将Java项目打包jar文件时,有时会遇到找不到或无法加载主类main的问题。解决这个问题的方法如下: 1. 确保项目中存在一个含main方法的主类。这个类是程序执行的入口点,必须含一个这样的方法。确保这个类被定义为public并且在正确的中。 2. 检查项目的构建配置是否正确。在IDE中,我们需要配置项目的构建方式,确保生成的jar文件含所有必要的依赖和资源文件。如果配置不正确,编译器将无法找到主类。 3. 检查jar文件的目录结构。jar文件是一个压缩文件,其中含了所有的编译好的类文件和资源文件。确保main类位于正确的位置,并且在jar文件中的MANIFEST.MF文件中正确地声明了main类。 4. 如果使用外部库或依赖项,确保这些库也被正确地打包jar文件中。在jar的构建过程中,我们需要将这些库文件加入到classpath中,以便程序能够正确加载这些类。 5. 检查操作系统或环境变量的设置。有时,找不到或无法加载主类main的问题可能是由于操作系统或环境变量没有正确配置导致的。确保Java的相关路径设置正确,并且JRE或JDK的版本与项目要求的兼容。 通过以上的步骤,我们应该能够解决找不到或无法加载主类main的问题,成功运行打包好的jar文件。如果问题仍然存在,我们可能需要进一步检查代码、构建配置和环境设置,以找到问题的根本原因。 ### 回答2: 在使用idea打包jar文件时,有时会遇到找不到或无法加载主类 main的问题。这个问题通常是由于项目设置的不正确或依赖未正确加载所致。我们可以按照以下步骤来解决这个问题。 首先,我们要确保项目的配置正确。可以通过以下步骤进行检查和修正: 1. 确保在项目的工程结构设置中,已正确指定了主类。可以在File -> Project Structure -> Project中查看和修改。 2. 检查项目的模块配置,确保主类已正确指定。可以在File -> Project Structure -> Modules中查看和修改。 3. 确保项目的运行配置正确。可以在Run -> Edit Configurations中查看和修改。 4. 检查项目的依赖配置,确保依赖已正确加载。可以在File -> Project Structure -> Libraries中查看和修改。 如果以上步骤都已经核对无误,但问题仍然存在,我们可以尝试执行以下操作: 1. 清理和重新编译项目。可以在Build -> Rebuild Project中进行操作。 2. 在项目的out目录下手动删除旧的jar文件。 3. 删除.idea目录和.iml文件,并重新导入项目。 如果问题仍然存在,可能是由于其他问题引起的。可以尝试以下操作: 1. 检查项目的源代码,确保没有语法错误或逻辑错误。 2. 检查项目的运行环境,确保所需的Java版本已经安装和配置正确。 3. 检查项目的依赖,确保依赖的版本和兼容性正确。 综上所述,通过检查项目配置、重新编译、清理旧文件以及检查源代码和依赖等方面,我们可以解决idea打包jar文件时出现找不到或无法加载主类 main的问题。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值