zoukankan      html  css  js  c++  java
  • 占位 Java程序部署

    程序部署大致分为三类,1.本机-整个程序都在用户计算机上独立运行(单机版程序) 2.远程-整个程序都在服务器端执行,客户端通过非java形式,比如浏览器进行访问

    3.介于两者之间-本地运行的客户端,连接到执行应用程序服务的服务端部分。

    一.打包

    1.cmd命令行方式打包java源代码(.java文件-即src下面的所有包)为jar包---安装好了jdk环境

    2.cd到源代码目录下,编译成字节码文件,输出到指定文件夹

    javac -d out(输出目录 ) src/com/java/test/*.java src/com/java/user/*.java

    3.上面我们得到一个out/字节码.class文件集合,然后要把它们打包为jar包,这里需要生产可执行jar,配置主类信息,告诉哪个类包含主函数

    创建一个名为manifest.txt,编辑:

    Manifest-Version: 1.0
    Class-Path:
    Created-By: 1.6.0_06 (Sun Microsystems Inc.)
    Main-Class: src/iotest/testmain

    ------冒号后多个空格,否则可能报错invalid header field

    4.执行打包

    manifest.txt放在out下

    cd到txt目录同级,

    运行:jar -cvmf manifest.txt app1.jar iotest

    只需要写包名就行,iotest包下是所有项目代码

    5.运行jar包

    java -jar app1.jar

    当然,cmd执行时最好cd到app1.jar所在的目录

    报错了,jar没有主清单属性,意思是manifest中生成的MANIFEST.MF中没有写Main-Class信息,去查看了一下真没有,我擦,明明写了,被吃了?

    Main-Class:空格 包名.类    手动添加了进去,检查了一下没错啊,肿么回事,还是不行

    终于找到原因,Main-Class我写在最后一行,行最后需要回车换行,否则生成不了main-class这行

    继续执行又报另一个错,说是无法找到主类,我晕。猜测是因为打包的结构关系与manifest中main-class不一致导致

    之前的目录结构:src下有两个文件夹,一个放代码,一个放资源文件。打包时为了将两个部分都包含进jar里,所有多加了一层项目名

    即双击打开jar包的结构是,项目名/代码&资源,这样导致找不到主类

    我修改了一下目录结构,将src下只放一个目录,加一层变成 src/主目录/代码&资源文件&其它,主目录是.java中包名,例如package main.iotest;的main

    所有的其它资源,代码都在main的下级包中,这样打的jar包双击打开第一层就是main,那么main-class: main.xxx.xxx就ok了

    6.这样执行java -jar xxx.jar 运行成功。

    二,部署

     https://www.ibm.com/developerworks/cn/java/j-webstart/index.html

        

  • 相关阅读:
    Matlab练习——素数查找
    Matlab 三维绘图与统计绘图
    Matlab练习——多项式和一元方程求解
    Matlab 矩阵函数
    Malab 常用数学函数
    Matlab练习——矩阵和数组的操作
    Matlab 图像处理入门
    Matlab 二维绘图函数(plot类)
    Matlab 曲线拟合之polyfit与polyval函数
    android 画虚线、实线,画圆角矩形,一半圆角
  • 原文地址:https://www.cnblogs.com/hebiao/p/12106178.html
Copyright © 2011-2022 走看看