批量导入已经是非常普遍的功能了。不论名称是否有规律或者是否有在数据库中保存,经过一些专业的设置都可以实现批量导入纸张及布局设置暂且默认A4以及5行2列。然后点击左侧工具栏中“插入位图”的图标,先绘制样式:
二、添加可变 添加不同文件夹中的分为两个部分,第一个是先添加文件夹路径及名称,第二部分为添加的路径、名称及后缀名:
1、双击,打开其数据源窗口,点击左侧“+”,在手动输入窗口下方点击坐下浏览,根据路径选择对应的添加,保留路径的文件夹名称的固定部分,将后续可变内容及名称删除:
再次点击左侧“+”使用“序列生成+补齐”的方法添加文件夹名称中的序列号:
2、添加路径、名称及后缀名 点击左侧“+”,使用“手动输入”的方法,添加路径及名称的固定部分并点击添加;
下面可使用“序列生成+补齐”添加名称中的可变部分“001、002、003”,可变内容添加后,可再次点击左侧“+”,使用手动输入添加后缀名,然后点击“确定”即可:
数据源内容添加完毕并确定后,就可以在画布上看到导入的样式了。然后点击上方工具栏中的打印预览就可以看到批量导入的不同文件夹中的效果了。文中开始位置有三个文件夹,每个文件夹中有一个,从下图可以看到已经全部自动导入了:
用myeclipse完成
1新建一个简单的JFrame窗体,用于测试。
package comdao;
import javaawtDimension;
import javaxswingJButton;
import javaxswingJFrame;
import javaxswingJLabel;
public class newClassText {
JFrame f = new JFrame();
JLabel jLabel = new JLabel();
JButton jButton = new JButton();
public static void main(String[] args) {
// TODO Auto-generated method stub
new newClassText()Show();
}
public void Show() {
fsetPreferredSize(new Dimension(400,300));
//Object a = (Object)arg0getVariable("$USER_INSTALL_DIR$");
jLabelsetText("请选择要安装的目录:");
jButtonsetText("确定");
fadd(jLabel);
fadd(jButton);
fpack();
fsetVisible(true);
}
}
2修改MANIFESTMF文件
Manifest-Version: 10
Class-Path:
Main-Class: comdaonewClassText
3打成jar包。
4打开bat启动文件,运行程序测试。
//下面为网络找到的资料,很详细,但我没看完,有帮助的看看。感谢我经理小超给我的帮助。
发布Java应用程序时你会感到困难?好在Java提供了一系列打包和发布工具,可以显著的简化发布过程该文章提供了打包Java code的几种方法,我们将会探讨Java manifest 文件,给出用于管理JAR文件所依赖文件、估计跨平台发布所需的CLasspath的合适方法我也会解释如何使用manifest包版本特性来确认包的兼容性
什么是JAR文件?
在开发过程中,我们可以直接使用Java class文件来运行程序,但这并不是一个好方式,好在Java 提供了 JAR(Java Archive)文件来提供发布和运行。
jar 文件实际上是class 文件的ZIP压缩存档,这种格式被广泛使用,因此易与使用,有很多中工具可以 *** 作这种格式的文件。也正是因为这个原因,jar文件本身并不能表达所包含应用程序的标签信息。
Manifest 因此得以出现
为了要提供存档的标签信息,jar 文件指定了一个特定目录来存放标签信息:META-INF 目录,其中我们来关注该目录中的MANIFESTMF文件,他就是JAR的manifest文件,他包含了JAR文件的内容描述,并在运行时向JVM提供应用程序的信息,大多数JAR文件含有一个默认生成的manifest 文件,执行JAR命令或使用zip工具,都可以产生它
如果是由jar命令产生的 manifest 文件,形如:
Manifest-Version: 10
Created-By:140-beta
(Sun Microsystems Inc)
这些信息没甚么用,仅仅告诉我们使用的是10的manifest文件,第一行定义manifest的格式,第二行说明使用 SUN 的JDK14的jar工具生成该文件,如果manifest文件是由其他 (如ant) 创建的,那将会出现 “Created-By: Ant 12” 之类的内容,如果你是自己创建manifest文件,你可以加入自己的一些相关信息
基础格式
manifest 文件的格式 是很简单的,每一行都是 名-值 对应的:属性名开头,接着是 ":" ,然后是属性值,每行最多72个字符,如果需要增加,你可以在下一行续行,续行以空格开头,以空格开头的行都会被视为前一行的续行。
所有在开头的属性都是全局的,你也可以定义特定class 或package的属性,稍后将介绍这种
把manifest文件插入JAR文件
使用 m 选项,把指定文件名的manifest文件 传入,例如
jar cvfm myapplicationjar myapplicationmf [-C]classdir
如果你使用ant来创建时,在ant 的buildxml 加入如下条目
manifest="myapplicationmf">
includes="/class"/>
运行Java程序
现在我们来体验一下manifest文件的作用,如果现在我们有一个Java 应用程序打包在myapplicationjar中, main class为 comexamplemyappMyAppMain ,那么我们可以用以下的命令来运行
java -classpath myapplicationjar comexamplemyappMyAppMain
这显然太麻烦了,现在我们来创建自己的manifest文件,如下:
Manifest-Version: 10
Created-By: JDJ example
Main-Class: comexamplemyappMyAppMain
这样我们就可以使用如下的命令来运行程序了:(明显简单多了,也不会造成无谓的拼写错误)
java -jar myapplicationjar
管理JAR的依赖资源
很少Java应用会仅仅只有一个jar文件,一般还需要 其他类库。比如我的应用程序用到了Sun 的 Javamail classes ,在classpath中我需要包含activationjar 和 mailjar,这样在运行程序时,相比上面的例子,我们要增加一些:
java -classpath mailjar:activationjar -jar myapplicationjar
在不同的 *** 作系统中,jar包间的分隔符也不一样,在UNIX用“:”,在window中使用 “;”,这样也不方便
同样,我们改写我们的manifest文件,如下
Manifest-Version: 10
Created-By: JDJ example
Main-Class: comexamplemyappMyAppMain
Class-Path: mailjar activationjar
(加入了Class-Path: mailjar activationjar,用空格分隔两个jar包)
这样我们仍然可以使用和上例中相同的命令来执行该程序:
java -jar myapplicationjar //此文件为启动bat文件
Class-Path属性中包含了用空格分隔的jar文件,在这些jar文件名中要对特定的字符使用逃逸符,比如空格,要表示成" ",在路径的表示中,都采用“/”来分隔目录,无论是在什么 *** 作系统中,(即使在window中),而且这里用的是相对路径(相对于本身的JAR文件):
Manifest-Version: 10
Created-By: JDJ example
Main-Class: comexamplemyappMyAppMain
Class-Path: ext/mailjar ext/activationjar
Multiple Main Classes(多主类)
还有一种Multiple Main Classes情况,如果你的应用程序可能有命令行版本 和GUI版本,或者一些不同的应用却共享很多相同的代码,这时你可能有多个Main Class,我们建议你采取这样的策略:把共享的类打成lib包,然后把不同的应用打成不同的包,分别标志主类:如下
Manifest for myapplicationlibjar:
Manifest-Version: 10
Created-By: JDJ example
Class-Path: mailjar activationjar
Manifest for myappconsolejar:
Manifest-Version: 10
Created-By: JDJ example
Class-Path: myapplicationlibjar
Main-Class: comexamplemyappMyAppMain
Manifest for myappadminjar:
Manifest-Version: 10
Created-By: JDJ example
Class-Path: myapplicationlibjar
Main-Class: comexamplemyappMyAdminTool
在myappconsolejar 和 myappadminjar的manifest文件中分别注明各自的 Main Class
java打包成jar Manifest 设置在软件测试中的运用
Package Versioning
完成发布后,如果使用者想了解 ,哪些代码是谁的?目前是什么版本?使用什么版本的类库?解决的方法很多 ,manifest提供了一个较好的方法,你可以在manifest文件中描述每一个包的信息。
Java 秉承了实现说明与描述分离的原则,package 的描述 定义了package 是什么,实现说明 定义了谁提供了描述的实现,描述和实现包含 名、版本号和提供者。要得到这些信息,可以查看JVM的系统属性(使用 javalangSystemgetProperty() )
在manifest文件中,我可以为每个package定义描述和实现版本,声明名字,并加入描述属性和实现属性,这些属性是
Specification-Title
Specification-Version
Specification-Vendor
Implementation-Title
Implementation-Version
Implementation-Vendor
当要提供一个类库或编程接口时,描述信息显得是很重要,见以下范例:
Manifest-Version: 10
Created-By: JDJ example
Class-Path: mailjar activationjar
Name: com/example/myapp/
Specification-Title: MyApp
Specification-Version: 24
Specification-Vendor: examplecom
Implementation-Title: comexamplemyapp
Implementation-Version: 2002-03-05-A
Implementation-Vendor: examplecom
Package Version 查询
在manifest文件中加入package描述后,就可以使用Java提供的javalangPackage class进行Package 的信息查询,这里列举3个最基本的获取package object的方法
1PackagegetPackages():返回系统中所有定义的package列表
2PackagegetPackage(String packagename):按名返回package
3ClassgetPackage():返回给定class所在的package
使用者这方法就可以动态的获取package信息
需要注意的是如果给定的package中没有class被加载,则也无法获得package 对象
Manifest 技巧
总是以Manifest-Version属性开头
每行最长72个字符,如果超过的化,采用续行
确认每行都以回车结束,否则改行将会被忽略
如果Class-Path 中的存在路径,使用"/"分隔目录,与平台无关
使用空行分隔主属性和package属性
使用"/"而不是""来分隔package 和class ,比如 com/example/myapp/
class 要以class结尾,package 要以 / 结尾
1、为了更好地实现且不容易出错,建议先建一个独立的文件夹,名称可以自己取。
2、然后我们在该文件夹内建立001文件树xls,001改名信息xls,
3、右键编辑001提名工具bat,然后打开后复制以下代码保存。
@ECHO OFF
tree /F > 001文件树xls
4、双击打开该BAT文件,这时候我们再打开001文件树,查看已获取的名称列表。
关闭防火墙
2删掉注册表键值“HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\OfficeSoftwareProtectionPlatform ”
3修复office 2013安装(控制面板-添加删除程序里面,选择“修复”安装)
4修复后会提示重启,当然重启一下
5重启后记得再次关闭防火墙
6以管理员身份运行“Activebat”,或压缩包中相应bat文件即可。
7Activebat文件路径代码修改方法如下:
右键-编辑,将
cd %ProgramFiles%\Microsoft Office\Office15或cd %ProgramFiles(x86)%\Microsoft Office\Office15中绿色部分改为实际安装路径,如:cd D:\Office 2013\Office15
64位系统下C盘的Program Files下安装的是64位软件,Program Files(x86)下安装的是32位软件。
8对于路径错误的情况,可先确定ospp文件的位置。
9复制上边地址栏的内容到bat文件中替换原来的路径即可。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)