ç®å½
ââä¸ã jaråwarå ä»ç»çåºå«ââ
ââäºãæå æjarï¼å¹¶å¨winåcentosä¸è¿è¡ââ
ââ2.1 Project Structureç®è¿°ââ
ââ2.1.1Â Â projectsãModulesââ
ââ2.1.2Â Librariesââ
ââ2.1.3Â Facetsââ
ââ2.1.4Â Artifactsââ
ââ2.2 é ç½®Artifactsââ
ââ2.3 ç¼è¯çæjarå¯æ§è¡æ件ââ
ââä¸ãè¿è¡jarââ
ââ3.1 å¨æ¬å°windowsä¸è¿è¡ââ
ââ3.2 å¨centosæå¡å¨ä¸è¿è¡ââ
ââ3.2.1 å¨centosçmysqlæ°æ®åºä¸çææ°æ®ââ
ââ3.2.2 ä¿®æ¹mysqlè¿æ¥IP ç¨æ·å å¯ç ââ
ââ3.2.3 éæ°ç¼è¯jarââ
ââ3.2.4 centos8ä¸æ§è¡jarââ
ââéå½ä¸ãå ³äºjarå ââ
æ们å¨åä¸ç« ãââhualinux java 1.6ï¼ideaè¿æ¥mysql8è¿è¡æ°æ®æ¥è¯¢ââã讲äºjavaè¿æ¥æ°æ®å¹¶è¿è¡æ¥è¯¢ï¼ç°å¨æ¬ç« å°è®²å¦ä½ç¨ideaåå¸java项ç®ï¼çæjarå¯æ§è¡ç¨åºã就以ä¸ä¸ç« ç项ç®ä¸ºä¾åï¼ç¨ideaåå¸ã
ä¸ã jaråwarå ä»ç»çåºå«
java项ç®æ¯æå æjarï¼java web项ç®æ¯æå æwar
JavaSEç¨åºå¯ä»¥æå æJarå (Jå ¶å®å¯ä»¥ç解为Javaäº)ï¼èJavaWebç¨åºå¯ä»¥æå æwarå (wå ¶å®å¯ä»¥ç解为Webäº)ãç¶åæwaråå¸å°Tomcatçwebappsç®å½ä¸ï¼Tomcatä¼å¨å¯å¨æ¶èªå¨è§£åwarå ã
JARï¼Java Archiveï¼Java å½æ¡£æ件ï¼æ¯ä¸å¹³å°æ å ³çæä»¶æ ¼å¼ï¼å®å 许å°è®¸å¤æ件ç»åæä¸ä¸ªå缩æ件ã为 J2EE åºç¨ç¨åºå建ç JAR æä»¶æ¯ EAR æ件ï¼ä¼ä¸ JAR æ件ï¼ã
JAR æä»¶æ ¼å¼ä»¥æµè¡ç ZIP æä»¶æ ¼å¼ä¸ºåºç¡ãä¸ ZIP æ件ä¸åçæ¯ï¼JAR æ件ä¸ä» ç¨äºå缩ååå¸ï¼èä¸è¿ç¨äºé¨ç½²åå°è£ åºãç»ä»¶åæ件ç¨åºï¼å¹¶å¯è¢«åç¼è¯å¨å JVM è¿æ ·çå·¥å ·ç´æ¥ä½¿ç¨ãå¨ JAR ä¸å å«ç¹æ®çæ件ï¼å¦ manifests åé¨ç½²æ述符ï¼ç¨æ¥æç¤ºå·¥å ·å¦ä½å¤çç¹å®ç JARã
Â
å¦æä¸ä¸ªWebåºç¨ç¨åºçç®å½åæ件é常å¤ï¼é£ä¹å°è¿ä¸ªWebåºç¨ç¨åºé¨ç½²å°å¦ä¸å°æºå¨ä¸ï¼å°±ä¸æ¯å¾æ¹ä¾¿äºï¼æ们å¯ä»¥å°Webåºç¨ç¨åºæå æWeb å½æ¡£ï¼WARï¼æ件ï¼è¿ä¸ªè¿ç¨åæJavaç±»æ件æå æJARæ件çè¿ç¨ç±»ä¼¼ãå©ç¨WARæ件ï¼å¯ä»¥æServletç±»æ件åç¸å ³çèµæºéä¸å¨ä¸èµ·è¿è¡åå¸ãå¨è¿ä¸ªè¿ç¨ä¸ï¼Webåºç¨ç¨åºå°±ä¸æ¯æç §ç®å½å±æ¬¡ç»ææ¥è¿è¡é¨ç½²äºï¼èæ¯æWARæ件ä½ä¸ºé¨ç½²åå æ¥ä½¿ç¨ã
ä¸ä¸ªWARæ件就æ¯ä¸ä¸ªWebåºç¨ç¨åºï¼å»ºç«WARæ件ï¼å°±æ¯ææ´ä¸ªWebåºç¨ç¨åºï¼ä¸å æ¬Webåºç¨ç¨åºå±æ¬¡ç»æçæ ¹ç®å½ï¼å缩起æ¥ï¼æå®ä¸ä¸ª.waræ©å±åãä¸é¢æ们å°ç¬¬2ç« çWebåºç¨ç¨åºæå æWARæ件ï¼ç¶ååå¸
è¦æ³¨æçæ¯ï¼è½ç¶WARæ件åJARæ件çæä»¶æ ¼å¼æ¯ä¸æ ·çï¼å¹¶ä¸é½æ¯ä½¿ç¨jarå½ä»¤æ¥å建ï¼ä½å°±å ¶åºç¨æ¥è¯´ï¼WARæ件åJARæ件æ¯ææ ¹æ¬åºå«çãJARæ件çç®çæ¯æç±»åç¸å ³çèµæºå°è£ å°å缩çå½æ¡£æ件ä¸ï¼è对äºWARæ件æ¥è¯´ï¼ä¸ä¸ªWARæ件代表äºä¸ä¸ªWebåºç¨ç¨åºï¼å®å¯ä»¥å å« ServletãHTML页é¢ãJavaç±»ãå¾åæ件ï¼ä»¥åç»æWebåºç¨ç¨åºçå ¶ä»èµæºï¼èä¸ä» ä» æ¯ç±»çå½æ¡£æ件ã
æ们ä»ä¹æ¶ååºè¯¥ä½¿ç¨WARæ件å¢ï¼å¨å¼åé¶æ®µä¸éå使ç¨WARæ件ï¼å 为å¨å¼åé¶æ®µï¼ç»å¸¸éè¦æ·»å æå é¤Webåºç¨ç¨åºçå 容ï¼æ´æ° Servletç±»æ件ï¼èæ¯ä¸æ¬¡æ¹å¨åï¼éæ°å»ºç«WARæ件å°æ¯ä¸ä»¶æµªè´¹æ¶é´çäºæ ãå¨äº§ååå¸é¶æ®µï¼ä½¿ç¨WARæ件æ¯æ¯è¾åéçï¼å 为å¨è¿ä¸ªæ¶åï¼å ä¹ä¸éè¦ååä»ä¹æ¹å¨äºã
å¨å¼åé¶æ®µï¼æ们é常å°Servletæºæ件æ¾å°Webåºç¨ç¨åºç®å½çsrcåç®å½ä¸ï¼ä»¥ä¾¿åWebèµæºæ件åºåãå¨å»ºç«WARæ件æ¶ï¼åªéè¦å°srcç®å½ä»Webåºç¨ç¨åºç®å½ä¸ç§»èµ°ï¼å°±å¯ä»¥æå äº
äºãæå æjarï¼å¹¶å¨winåcentosä¸è¿è¡
ä»ä¸é¢ç¥éjavaåºç¨ç¨åºææçæ¯jarå ï¼å¦æè¦å¨centosæå¡å¨ä¸è¿è¡jarå ï¼åªéè¦jreå°±è¡äºï¼å½ç¶jdkæ´æ¯å¯ä»¥ï¼jdkå æ¬äºjreåè½ï¼å¨jdk11ï¼å æ¬11ï¼ä¹åï¼jre就没éæè¿jdkä¸äºã
为äºæ¹ä¾¿æç´æ¥ä¸ä¼ å°å®è£ å¨LNMTçç¯å¢ä¸ç¨javaè¿è¡è¿è¡è¿ä¸ªjarå ï¼LNMTçæ建详è§æåçãââhualinux2.7 ç¯å¢æ建ï¼centos8 LNMTï¼nginx+mysql+tomcatï¼ââã
2.1 Project Structureç®è¿°
æå¼èåFile -> Project Structureï¼è¿éè¦é¡ºå¸¦è¯´ä¸ä¸ï¼
2.1.1Â Â projectsãModules
IntelliJ IDEA 没æ类似 Eclipse å·¥ä½ç©ºé´ï¼workspaceï¼çæ¦å¿µçã
å¨ IntelliJ IDEA ä¸ Project æ¯æ顶级ç级å«
次级å«æ¯ Module![]()
hualinux java 1.7:使用idea釋出java項目(了解) ![]()
hualinux java 1.7:使用idea釋出java項目(了解) ![]()
hualinux java 1.7:使用idea釋出java項目(了解) ï¼å¼å¾æ³¨æçæ¯ä¸é¢æ©è²ç®å½ï¼è¡¨ç¤ºçæ¯Excludedï¼æé¤ï¼æ¯ä»ä¹ææå¢ï¼å°±æ¯å¦æ项ç®æå ï¼åå¸çè¯æ¯ä¸å æ¬å®ï¼
Â
ä¸ä¸ª Project å¯ä»¥æå¤ä¸ª Moduleãç®å主æµç大å项ç®ç»æé½æ¯ç±»ä¼¼è¿ç§å¤ Module ç»æï¼è¿ç±»é¡¹ç®ä¸è¬æ¯è¿æ ·ååçï¼æ¯å¦ï¼core Moduleãweb Moduleãplugin Moduleãsolr Module ççï¼æ¨¡åä¹é´å½¼æ¤å¯ä»¥ç¸äºä¾èµãéè¿è¿äº Module çå½åä¹å¯ä»¥çåºï¼ä»ä»¬ä¹é´åºè¯¥é½æ¯å¤äºåä¸ä¸ªé¡¹ç®ä¸å¡æ åµä¸ç模åï¼å½¼æ¤ä¹é´æ¯æä¸å¯åå²çä¸å¡å ³ç³»çã
æ以æ们ç°å¨æ»ç»ï¼ä¸ä¸ªÂ Project æ¯ç±ä¸ä¸ªæå¤ä¸ªÂ Module ç»æï¼æ¨¡åä¹é´å°½éæ¯å¤å¨åä¸ä¸ªé¡¹ç®ä¸å¡ççæ åµä¸ï¼å½¼æ¤ä¹é´äºç¸ä¾èµå ³èãè¿éç¨çæ¯Â å°½éï¼å 为 IntelliJ IDEA ç Project æ¯ä¸ä¸ªæ²¡æå ·å¤ä»»ä½ç¼ç 设置ãæ建çå¼ååè½çï¼ä¸»è¦èµ·å°ä¸ä¸ªé¡¹ç®å®ä¹ãèå´çº¦æãè§èçç±»åçææï¼ä¹è®¸æ们å¯ä»¥ç®åå°ç解为就æ¯ä¸ä¸ªå纯çç®å½ï¼åªæ¯è¿ä¸ªç®å½å½åä¸å¿ é¡»æå ¶ä»£è¡¨æ§çæä¹ã
2.1.2Â Libraries
Librariesï¼Libraries模å,å ¶å®å°±æ¯å°æ们ä¾èµçjarå è¿è¡åç±», ä¸è¬éæ©Java ,èä¸éæ©From Mavenã
è¿éæ·»å æ¶å åä¸é¢modulesé¢æ¿æ·»å æ¶å æ¯ä¸æ ·ç,ä¸è¿è¿éå¯ä»¥èµ·å«å,便äºèªå·±å¯¹jarå ç管çã
2.1.3Â Facets
Facetsï¼è¡¨ç¤ºæ个moduleæçç¹å¾ï¼æ¯å¦webãstrtus2ãspringãhibernateçï¼
2.1.4Â Artifacts
Artifactsï¼æ¯mavenä¸çä¸ä¸ªæ¦å¿µï¼è¡¨ç¤ºæ个moduleè¦å¦ä½æå ï¼ä¾å¦war explodedãwarãjarãearççè¿ç§æå å½¢å¼ï¼
å®çä½ç¨æ¯æ´åç¼è¯åç java æ件ï¼èµæºæ件çï¼æä¸åçæ´åæ¹å¼ï¼æ¯å¦warãjarãwar exploded çï¼å¯¹äº Module èè¨ï¼æäº Artifact å°±å¯ä»¥é¨ç½²å° web 容å¨ä¸äºãå ¶ä¸ war å war exploded åºå«å°±æ¯åè ä¸å缩ï¼å¼åæ¶éåè 便äºçå°ä¿®æ¹æ件åçææã
Â
2.2 é ç½®Artifacts
ä»ä¸é¢2.1对Project Structure说æå¾ç¥ï¼æ们è¦æå æjarå°±å¾ç¨å°Project StructureçArtifactsï¼æä½å¦ä¸ï¼
æå¼èåFile -> Project Structure... ->Artifacts
æç»çå建jaré¢æ¿Â å¦ä¸å¾ï¼
2.3 ç¼è¯çæjarå¯æ§è¡æ件
åå°idea主çé¢ï¼ç¹èåæ ä¸çâBuildâ-->"Build Artifacets..."
çä¸ä¸Projectä¸æ¯ä¸æ¯å¤äºä¸ä¸ªmyjava.jaråMETA-INFç®å½ï¼å¦ä¸å¾æ示ï¼
æ们è¿åç°srcç®å½ä¸å¤äºä¸ä¸ªMETA-INFç®å½ï¼å¿ 须注æçæ¯ï¼å¿ é¡»æMANIFEST.MFæ件ã
æä¸é¢çmyjava.jarå¤å¶åºæ¥
ææ¤æ件å¤å¶å°dçæ ¹ç®å½
Â
ä¸ãè¿è¡jar
3.1 å¨æ¬å°windowsä¸è¿è¡
ç´æ¥ç¨javaå½ä»¤è¿è¡è¯ä¸ï¼
å¼å§èå-->è¿è¡-->è¾å ¥âcmdâå车Â
java -jar d:\myjava.jar
ææå¦ä¸å¾æ示ï¼
![]()
hualinux java 1.7:使用idea釋出java項目(了解)
3.2 å¨centosæå¡å¨ä¸è¿è¡
3.2.1 å¨centosçmysqlæ°æ®åºä¸çææ°æ®
æçcentos8ä¸å®è£ çæ¯mysql8.0.20ï¼æç´æ¥ä½¿ç¨ä¸é¢çæsql
CREATE DATABASE /*!32312 IF NOT EXISTS*/`hua` /*!40100 DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci */;
USE `hua`;
/*Table structure for table `stu` */
DROP TABLE IF EXISTS `stu`;
CREATE TABLE `stu` (
`id` int(6) unsigned NOT NULL AUTO_INCREMENT,
`sid` varchar(6) CHARACTER SET utf8 NOT NULL,
`name` varchar(10) CHARACTER SET utf8 NOT NULL,
`yuWen` float DEFAULT '0',
`shuXue` float DEFAULT '0',
`sex` char(2) CHARACTER SET utf8 NOT NULL DEFAULT 'ç·',
`zhiWei` char(6) CHARACTER SET utf8 NOT NULL DEFAULT 'å¦ç',
PRIMARY KEY (`id`),
UNIQUE KEY `sid` (`sid`)
) ENGINE=InnoDB AUTO_INCREMENT=20 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci;
/*Data for the table `stu` */
insert into `stu`(`id`,`sid`,`name`,`yuWen`,`shuXue`,`sex`,`zhiWei`) values
(1,'1','å¼ ä¸',51,65,'ç·','å¦ç'),
(2,'2','æå',71,80,'ç·','å¦ç'),
(3,'3','çäº',87.6,90,'ç·','å¦ç'),
(4,'4','éå
',55.9,88,'ç·','å¦ç'),
(5,'5','è°¢ä¹',77,59,'ç·','å¦ç'),
(6,'6','天天',45,90,'ç·','å¦ç'),
(7,'7','å¼å¿',70,100,'女','å¦ç'),
(8,'8','ä¹å¿',65,50,'女','é³ä¹å§'),
(9,'9','ä¹ä¹',88,29.5,'女','å¦ç'),
(10,'10','ç¬ç¬',73,69,'女','å¦ç'),
(11,'11','fly',90,89,'ç·','å¦ç'),
(12,'12','ä¹å¤©',90,70,'ç·','å¯çé¿'),
(13,'13','äºå¿',95,65,'女','å¦ç'),
(14,'14','ä¼æ´',14,70,'ç·','çé¿'),
(15,'15','abc',86,98,'ç·','å¦ç'),
(16,'16','è²è²',90,99,'女','å¦ä¹ å§'),
(17,'17','mm',71,61,'女','å¦ç'),
(18,'18','lilei',98,61,'ç·','å¦ç'),
(19,'19','hua',90,99.5,'ç·','å¦ç');
3.2.2 ä¿®æ¹mysqlè¿æ¥IP ç¨æ·å å¯ç
ææmysq.classä¸çIPå°åãç¨æ·åãå¯ç é½ä¿®æ¹ä¸ºæcentos8ä¸mysqlç
String url = "jdbc:mysql://192.168.3.81:3306/huauseSSL=FALSE&serverTimezone=GMT%2B8";
String user = "hua";
String password = "hua123";
æ¬å°ä¸è¿è¡mysql.classæµè¯çä¸ä¸ï¼åç°è½è¿æ¥ï¼æ²¡é®é¢
3.2.3 éæ°ç¼è¯jar
å 为ååæç¼è¯çæäºjarï¼æ以éè¦æå®æ¸ ä¸ä¸
åç°myjava.jarè¢«æ¸ é¤äºï¼å¦ä¸å¾ï¼
éæ°çæä¸ä¸ªjar
å¤å¶åºæ¡é¢
3.2.4 centos8ä¸æ§è¡jar
æç¨xshellæååå¤å¶åºæ¥çmyjava.jarä¸ä¼ å°centos8æå¡å¨ç/disk1/t1ç®å½ä¸ï¼è¿è¡å³å¯
éè¦æ³¨æçæ¯jdkä¸å®ä¹æ¯14çæ¬ï¼å¦æä¸æ¯å°±è¦å级ä¸ä¸
Â
éå½ä¸ãå ³äºjarå
å ¶å®jarå å¯ä»¥ç¨è§£å软件å¦winraræå¼çä¸ä¸å 容ï¼
å ¶ä¸comä¸é¢æ¯libç®å½çå ï¼è¿éæ¯mysqlè¿æ¥
éé¢æ¯classæ件æ¯åèç æ件ï¼å¯ä»¥ç¨javaå½ä»¤æ§è¡ä¸é¢çclassæ件ã
java -classpath [jar-name] [filename]
[root@vm81 ~]# java -classpath /disk1/t1/myjava.jar HelloWorld
Hello World