由于他的源代码中使用了不少第三方的lib,因此有必要将lib也一并打包进去。他用Eclipse的Export功能直接打包到jar文件,第三方lib是打包进来了,可是使用的时候还是提示找不到相应的包。
其实,为了自己的便利将别人发布的lib打包进自己project的包中不是一种合适的做法。这样做之前务必要检查一下对方的license,但不管是不是将对方的lib包括进来,既然自己的代码用到了,为了让它们正常工作,指明哪些包在那是必不可少的。师弟其实需要一个MANIFESTMF文件,利用Eclipse生成jar文件的时候,请不要让其自动生成MANIFESTMF,而是应当由你自己写好一个MANIFESTMF,然后告诉 Eclipse:请使用这个文件。想了解细节,请阅读SUN的这篇规范(VIA),或者是IBM网站上的这篇JAR文件揭秘,偶这里就不多写了。
另外,Eclipse其实还有一个输出到可执行jar的功能,该功能能够帮你编写合适的MANIFESTMF文件,帮你将你引用的第三方lib一并打包(注意license哦)。
第一:普通类导出jar包,我说的普通类就是指此类包含main方法,并且没有用到别的jar包。
1在eclipse中选择你要导出的类或者package,右击,选择Export子选项;
2在d出的对话框中,选择java文件---选择JAR file,单击next;
3在JAR file后面的文本框中选择你要生成的jar包的位置以及名字,注意在Export generated class files and resources和Export java source files and resources前面打上勾,单击next;
4单击两次next按钮,到达JAR Manifest Specification。注意在最底下的Main class后面的文本框中选择你的jar包的入口类。单击Finish,完成。
你可以在dos环境下,进入你的jar所在的目录,运行 java -jar 名字jar,检测运行是否正确。
第二、你所要导出的类里边用到了别的jar包。比如说你写的类连接了数据库,用到数据库驱动包oracljar。
1先把你要导出的类按照上面的步骤导出形成jar包,比如叫testjar
2新建一个文件夹main,比如在D盘根目录下;
3把testjar和oracljar拷贝到main文件下,右击testjar,解压到当前文件夹。把META-INF\MANIFESTMF剪切到另外一个地方 (比如是桌面!) ;
4右击oracljar,解压到当前文件夹。
5在dos环境下,进入到D盘的main文件夹下,执行 jar cvfm newjar meta-inf/manifestmf ,不要忘了最后面的点。
6用压缩工具打开你新生成的newjar,用你放在桌面的META-INF\MANIFESTMF覆盖newjar原有。
你可以在dos环境下,进入你的jar所在的目录,运行 java -jar 名字jar,检测运行是否正确。
关于 MANIFESTMF 写法
例如我们打包的jar为 Testjar
Manifest-Version: 10
Main-Class: windowsVideoWindow
Class-Path: lib\orgeclipseswt_330v3346jar lib\orgeclipseswtwin32win32x86_330v3346jar
上面为打包为jar中的包说明文件 下面这个报错一直出现
could not find main class Program will exit
这个错误提示其实不是没有发现main class 而是jar如果有错误执行不了,就会出现这个错误 打包完成后, 要先运行 cmd -> java -jar yourjar 确认没有问题即可执行jar 使用-jar参数后, 系统的Classpath 变量不再起作用 虚拟机将去MANIFESTMF中的Class-Path 下找相关的包
然后才能成功的从: windowsVideoWindow 的main方法进入 否则没有相关连接包,则会提示找不到main class 而大家可能还迷糊的找不到北 明明有main class吗
如果这个写的不对 则就会一直报错
看看上面这个Class-Path: 后面的写法 空格分开 绝对不能有分号切记
最后必须有换行 这个也是要注意的 否则依然提示没有mainclass
不要因为这个小事情耽误了时间 其中 lib/ 表示这个jar必须在打包Testjar所在目录的一个lib子目录中
运行jar需要命令: java -jar Testjar
双击也可以, 则使用 javaw 打开
关于java -classpath ajar;bjar; class testTest 执行时 ajar;bjar; 后面都必须有分号 否则报错 不要指望不写classpath让系统自己找 这不是在eclipse里面必须写上你要使用的类 否则总会提示您编译出错
1、在新创建的项目中右键单击NewFloder。
2、我们选择鼠标单击创建一个名为lib的包。
3、之后会显示创建完成后的项目目录的页面。
4、接下来解压缩下载的mysqljar包并复制jar文件。
5、在项目lib包邮件中选择粘贴粘贴,复制mysqljar包。
6、右键单击mysqljar包以选择构建路径-添加到构建路径。
7、添加完成后,项目与Mysqljar包关联。现在您可以使用相关的类和方法。
8、在项目中创建一个新的JdbcTest1java类。
9、之后选择键盘敲击输入以下代码,如下图的代码。
10、代码说明:Driver是一个由特定数据库供应商实现的实现类。它的connect方法可以获得数据库连接。参数如上所示。运行后,输出如下,证明数据库连接成功。
1 myeclipse导入项目后,如何把数据库也导入
MySQL数据库的导入,有两种方法:
1) 先导出数据库SQL脚本,再导入;
2) 直接拷贝数据库目录和文件。
在不同 *** 作系统或MySQL版本情况下,直接拷贝文件的方法可能会有不兼容的情况发生。
所以一般推荐用SQL脚本形式导入。下面分别介绍两种方法。
2 方法一 SQL脚本形式
*** 作步骤如下:
21 导出SQL脚本
在原数据库服务器上,可以用MyAdmin工具,或者mysqldump命令行,导出SQL脚本。
211 用MyAdmin工具
导出选项中,选择导出“结构”和“数据”,不要添加“DROP DATABASE”和“DROP TABLE”选项。
选中“另存为文件”选项,如果数据比较多,可以选中“gzipped”选项。
将导出的SQL文件保存下来。
212 用mysqldump命令行
命令格式
mysqldump -u用户名 -p 数据库名 >; 数据库名sql
范例:
mysqldump -uroot -p abc > abcsql
(导出数据库abc到abcsql文件)
提示输入密码时,输入该数据库用户名的密码。
22 创建空的数据库
通过主控界面/控制面板,创建一个数据库。假设数据库名为abc,数据库全权用户为abc_f。
23 将SQL脚本导入执行
同样是两种方法,一种用MyAdmin(mysql数据库管理)工具,或者mysql命令行。
231 用MyAdmin工具
从控制面板,选择创建的空数据库,点“管理”,进入管理工具页面。
在"SQL"菜单中,浏览选择刚才导出的SQL文件,点击“执行”以上载并执行。
注意:MyAdmin对上载的文件大小有限制,本身对上载文件大小也有限制,如果原始sql文件
比较大,可以先用gzip对它进行压缩,对于sql文件这样的文本文件,可获得1:5或更高的压缩率。
gzip使用方法:
# gzip xxxxxsql
得到
xxxxxsqlgz文件。
提示输入密码时,输入该数据库用户名的密码。
3 直接拷贝
如果数据库比较大,可以考虑用直接拷贝的方法,但不同版本和 *** 作系统之间可能不兼容,要慎用。
31 准备原始文件
用tar打包为一个文件
32 创建空数据库
33 解压
在临时目录中解压,如:
cd /tmp
tar zxf mydbtargz
34 拷贝
将解压后的数据库文件拷贝到相关目录
cd mydb/
cp /var/lib/mysql/mydb/
对于FreeBSD:
cp /var/db/mysql/mydb/
35 权限设置
将拷贝过去的文件的属主改为mysql:mysql,权限改为660
chown mysql:mysql /var/lib/mysql/mydb/
chmod 660 /var/lib/mysql/mydb/
2 如何:添加对数据库项目的引用
可以添加对数据库项目的多种类型引用以应对不同的情况。
例如,可以引用同一解决方案中的其他项目,也可以引用其他解决方案的输出。按照略有不同的过程即可添加其他类型的引用。
例如,若要使用跨数据库引用,不仅必须添加该引用,还必须为数据库和/或服务器定义变量和相关的值。有关引用的类型以及可能使用每种类型的时间的更多信息,请参见在数据库项目中使用引用。
引用在同一解决方案中数据库项目中定义的对象打开一个解决方案,该解决方案包含要向其中添加引用的数据库项目。在“项目”菜单上,单击“添加数据库引用”。
将出现“添加数据库引用”对话框。若要添加对数据库项目的引用,请执行以下步骤:单击“当前解决方案中的数据库项目”。
在列表中,单击要添加对其引用的数据库项目。若要为服务器定义 SETVAR 变量,请执行以下步骤:单击“定义服务器变量”。
在“名称”中,键入表示该服务器的变量名称。在“值”中,键入该变量所表示的服务器名称。
注意如果所引用对象所属的数据库位于要添加对其引用的数据库所在的相同服务器上,则不需要定义服务器变量。若要为要引用的数据库指定 SETVAR 变量,请按下列步骤 *** 作:选中“定义数据库变量”复选框。
如果选中“文本”复选框,则将其清除。在“名称”中,键入表示该数据库的变量的名称。
在“值”中,键入该变量所表示的数据库名称。重要事项如果数据库项目包含显式引用另一个数据库中对象的对象,则应更新这些引用以使用刚刚定义的变量。
如果从包含跨数据库引用的数据库导入了对象,则必须更新这些引用以解决这些显式跨数据库引用导致的警告。若要为要引用的数据库指定文本值,请按下列步骤 *** 作:选中“定义数据库变量”复选框。
选中“文本”复选框。在“值”中,键入要引用的数据库的名称。
注意如果数据库名称始终与目标开发环境中的名称相同,则可能要指定文本而非变量和值对。例如,可以对“master”数据库中定义的对象使用值为“master”的文本。
如果所引用的项目可能引用另一个项目,则可以选中“禁止显示所引用项目中未解析引用导致的错误”复选框。所引用项目中的错误不大可能导致当前项目中的错误。
因此,可能要决定忽略这些错误。如果不想更新对象和脚本,则清除“更新现有架构对象定义和脚本以使用数据库引用变量”复选框,然后单击“确定”。
此时引用即添加到数据库项目,而您不需要在此过程中执行任何其他步骤。如果要更新对象和脚本,则选中“更新现有架构对象定义和脚本以使用数据库引用变量”复选框,然后单击“确定”。
此时将出现“预览更改 - 重命名服务器或数据库”对话框。(可选)如果不想应用一个或多个更改,则清除这些更改旁的复选框。
(可选)单击任意更改,在“预览更改”窗格中显示其详细信息。单击“应用”,更新所指定的对象和脚本。
此时引用即添加到数据库项目,并修改您指定的这些对象和脚本以使用 SETVAR 变量(而非服务器和数据库的名称)。引用另一个数据库项目的编译输出(dbschema 文件)中定义的对象打开一个解决方案,该解决方案包含要向其中添加引用的数据库项目。
在“项目”菜单上,单击“添加数据库引用”。将出现“添加数据库引用”对话框。
若要添加元文件的引用,请执行以下步骤:单击“数据库项目元文件(dbmeta)或架构(dbschema)”。在该框中,键入架构文件的路径和文件名,或者单击“浏览”指定要添加其引用的架构文件。
若要为服务器定义 SETVAR 变量,请执行以下步骤:单击“定义服务器变量”。在“名称”中,键入表示该服务器的变量名称。
在“值”中,键入该变量所表示的服务器名称。注意如果所引用对象所属的数据库位于要添加对其引用的数据库所在的相同服务器上,则不需要定义服务器变量。
若要为要引用的数据库指定 SETVAR 变量,请按下列步骤 *** 作:选中“定义数据库变量”复选框。如果选中“文本”复选框,则将其清除。
在“名称”中,键入表示该数据库的变量的名称。在“值”中,键入该变量所表示的数据库名称。
重要事项如果数据库项目包含显式引用另一个数据库中对象的对象,则应更新这些引用以使用刚刚定义的变量。如果从包含跨数据库引用的数据库导入了对象,则必须更新这些引用以解决这些显式跨数据库引用导致的警告。
若要为要引用的数据库指定文本值,请按下列步骤 *** 作:选中“定义数据库变量”复选框。选中“文本”复选框。
在“值”中,键入要引用的数据库的名称。注意如果数据库名称始终与目标开发环境中的名称相同,则可能要指定文本而非变量和值对。
例如,可以对“master”数据库中定义的对象使用值为“master”的文本。如果所引用的项目可能引用另一个项目,则可以选中“禁止显示所引用项目中未解析引用导致的错误”复选框。
所引用项目中的错误不大可能导致当前项目中的错误。因此,可能要决定忽略这些错误。
如果不想更新对象和脚本,则清除“更新现有架构对象定义和脚本以使用数据库引用变量”复选框,然后单击“确定”。此时引用即添加到数据库项目,而您不需要在此过程。
3 如何把原来做过的JAVA项目导入到另一台电脑里
当下载了包含Eclipse 项目的源代码文件后,我们可以把它导入到当前的Eclipse 工作区然后编辑和查看。点击菜单File > Import,然后在d出的Import 对话框中展开General目录,选择Existing Projects into Workspace,接着点击Next 按钮。当选中单选钮Select root directory:时可以点击Browse…按钮选中包含项目的文件夹,如果包含项目的话就可以在中间的Projects 列表框中显示;而当选中单选钮Select archive file:时可以点击Browse…按钮选中包含项目的ZIP 压缩包,如果包含项目的话就可以在中间的Projects列表框中显示。最后点击Finish 按钮就可以导入项目并打开了。
点击菜单File > Export,然后在d出的Export 对话框中展开General 目录,选择Archive File,接着点击Next 按钮。然后在To archive file:输出框中选中要保存的文件名,一般写成项目名zip,然后点击Finish 按钮即可导出当前项目。还有一种方式是手工打包,用WinRAR 或者WinZIP 等工具都可以
4 自己做的项目涉及到数据库,怎么样把这个项目上传到服务器上
MSSQL数据库:
直接给它提供dmf文件,他给你附加
现在的web空间服务商,他们都有数据库与web 容器在他们的服务器上的。你的项目挂在那,连的数据就相当于连的本地的,只是他在Tomcat的serverxml里面配置了(你可以去找 web项目部署服务器 相关资料)
总之,你给钱 这些东西不需要你去管 人家帮你搞定 。部署发布这块,感兴趣自己可以去学(部署这块也有研究的,比如:WEB程序自动安装--Tomcat+web项目+MySQL+jre 一起打包 exe发布,这样没有JDK环境的机器也照样运行你的项目 、还有你现在问的部署外网服务器等 )说了一大堆 分该给我了吧
5 如何将excel中的数据导入数据库
首先打开SQL SERVER 的企业管理器,到你要导入数据的数据库的表上右键,选择所有任务,导入数据。在d出的对话框上点击下一步。
选择数据源为EXCEL如图所示。
选择要导入的EXCEL文件
输入你的数据库的登入信息
选择第一个项目(从源数据库复制表和视图),然后点下一步
选择你要导入的表的第几页,其中目的表是可以修改的,如果要转换其中的数据,点后面的小方块,上面有三个小点的小方块。
点击下一步,完成,即可
数据导入很快的,导入的结果会反馈给你。点击完成。
刷新你的数据库,这个时候你可以发现你导入的数据表已经存在并可以使用了。
6 如何导入已有的外部数据库
导入已有的外部数据库的方法:
第一种是右击数据库,然后点击附加。出现下面的界面。然后选择添加,添加上你要添加的mdf文件即可。
第二种方法是:新建查询,然后输入下列语句,
EXEC sp_attach_db @dbname = 'yourdatabasename',
@filename1 = 'x:\路径\MSSQL\Data\pubsmdf',
@filename2 = 'x:\路径\MSSQL\DataLdf
以上就是关于eclipse中怎样将项目打包成jar全部的内容,包括:eclipse中怎样将项目打包成jar、怎么在eclipse中使用数据库连接、怎么样把项目导入并且数据库也能等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)