java 程序发布_【Java学习笔记】程序发布

本文介绍了Java JAR文件的创建、操作和运行,包括使用jar命令、指定主类和依赖路径,以及如何通过jave-jar命令执行。此外,讲解了JAR文件的电子签名过程,使用keytool生成密钥对并签署程序。接着阐述了WebStart发布,包括JNLP文件的创建和配置,以及Web服务器的设置。最后,文章提到了注解的使用,包括内置注解和自定义注解的功能和示例。
摘要由CSDN通过智能技术生成

1.要注意的条件

1)合适版本的JRE已经安装

2)完整的Class

3)数据配置文件

4)可执行命令

2.JAR文件的基本操作

JAR文件实际是ZIP文件,用zip或者unzip就可以操作,但是JAR文件中含有特殊信息。jar命令是专门用来操作JAR文件的,它会自动生成一个叫做mantext的文件,保存有相关信息。

例如:

类Rivers

public class Rivers {

public static void main(String arg[]) {

System.out.println(Mississippi.getName());

System.out.println(Amazon.getName());

System.out.println(Yukon.getName());

}

}

-------------------------

类Mississippi

public class Mississippi {

public static String getName() {

return("Mississippi");

}

}

---------------------------

类Amazon

public class Amazon {

public static String getName() {

return("Amazon");

}

}

---------------------------

类Yukon

public class Yukon {

public static String getName() {

return("Yukon");

}

}

创建mantext

Main-Class:Rivers

指定了主函数所在类。

Class-Path:Burners.jar

当这个JAR文件运行时Burners.jar文件中所有的Class都可用。

然后使用命令创建JAR文件:jar cfm Wetlands.jar mantext *.class

当然要是有子目录Image,则可以使用jar cfm Wetlands.jar mantext *.class image

想将当前目录下面所有文件和子文件夹打成一个jar包,并且要求包中内容和当前目录中的相同,则

jar cfM Wetlands.jar *.class -C images .

若不想压缩打包,则使用 jar cfm0 Wetlands.jar mantext *.class

你可以使用下列命令直接运行JAR文件:jave -jar Wetlands.jar

显示JAR包,则使用jar tf Wetlands.jar 或者jar tvf Wetlands.jar

3.JAR文件的电子签名

私钥加密,公钥解密,主要用于电子认证。本地文件keystore保存了签名的相关信息。alias指定了证书的名字。

创建密钥对:

keytool -genkeypair -keystore .keystore -alias moosebreath -validity 3650

(十年内有效)

签署JAVA程序:

jarsigner -keystore .keystore Wetlands.jar moosebreath

检验是否签署:

jarsigner -certs -verify Wetlands.jar

4.Web Start发布

1)配置web服务器:打开Apache的配置文件httpd.conf,找到AddType添加如下一行:AddType application/x-java-jnlp-file .jnlp

2)将程序打JAR包

3)创建JNLP文件——JNLP应用程序能使应用程序像标准的Java   applets一样通过Web浏览器访问,并且在客户主机上JNLP可以限制为一个安全的“沙盒(sandbox)”。不像applets,JNLP应用程序不运行在客户的浏览器内部;相反,Web浏览器只作为应用程序的一个起点或者安装工具。  以下是一个例子,可以用做模板:

1. <?xml version="1.0" encoding="GBK"?>

2.

3.    

4.     spec="1.0+"

5.    

6.     codebase="http://210.43.32.199/apple/"

7.    

8.     href="draw.jnlp">

9.    

10.        

11.        

画图

12.        

13.         Kevin Ma

14.        

15.        

16.        

17.         画图

18.        

19.         一个简单的画图软件

20.        

21.        

22.        

23.        

24.        

25.    

26.    

27.        

31.

32.    

33.        

34.        

35.        

36.        

37.        

40.    

41.    

42.    

43.

4)为这个JNLP创建一个链接:

ColorPicker

5)将你的应用程序上传到服务器上

5.注释

用途:documentation、编译器指令、运行时检查。

例子一:

public class AnnotateOne {

@Overrides

public String toSting() {

return("One");

}

}

这个在编译的时候会检查是不是override了方法,要是没有则会出错。

并且编译时可以消除某一个警告:

import java.util.Vector;

@SuppressWarnings("unchecked","unused","semicolon")

public class AnnotationFour {

void show() {

Vector vec = new Vector();

vec.add("one");

}

}

你可以定义自己的注释:

import java.lang.annotation.Documented;

import java.lang.annotation.Retention;

import java.lang.annotation.RetentionPolicy;

@Documented

@Retention(RetentionPolicy.RUNTIME)//annotation的作用期间

@interface Copyright {//它类似于新创建一个接口类文件

String cstr() default "Copyright (c) 2007-2008";

String comp() default "gnuhpc";

int version() default 1;

}

@CopyrightVTC

public class AnnotationFive {

public int returnOne() {

return(1);

}

}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值