下載java
wget https://nodejs.org/dist/latest-v8.x/node-v8.11.3-linux-x64.tar.gz
解壓node
tar -zxvf node-v8.11.3-linux-x64.tar.gz
建立軟連接linux
cd node-v8.11.3-linux-x64/bin sudo ln -s node /usr/local/bin/node sudo ln -s npm /usr/local/bin/npm
查看版本webpack
node -v npm -v
設定pom編譯前執行的命令:web
進入到工程目錄,npm安裝和webpackspring
cd jenkins下該項目的workspace npm install node_modules/.bin/webpack
[INFO] --- maven-clean-plugin:2.6.1:clean (default-clean) @ testProject --- [INFO] [INFO] --- exec-maven-plugin:1.5.0:exec (npm install (initialize)) @ testProject --- [ERROR] Command execution failed. java.io.IOException: Cannot run program "npm" (in directory "/home/jenkins/workspace/testProject"): error=2, No such file or directory
解決:進入命令行執行pom編譯前執行的命令,即apache
# cd jenkins下該項目的workspace # npm install //出現了錯誤4 # node_modules/.bin/webpack 執行後,node_modules文件夾就出如今工程目錄了。
注:npm
javax.servlet.ServletException: java.lang.LinkageError: loader constraint violation: when resolving method "org.apache.jasper.runtime.InstanceManagerFactory.getInstanceManager(Ljavax/servlet/ServletConfig;)Lorg/apache/tomcat/InstanceManager;" the class loader (instance of org/apache/jasper/servlet/JasperLoader) of the current class, org/apache/jsp/WEB_002dINF/jsp/login_jsp, and the class loader (instance of java/net/URLClassLoader) for the method's defining class, org/apache/jasper/runtime/InstanceManagerFactory, have different Class objects for the type org/apache/tomcat/InstanceManager used in the signature at org.apache.jasper.servlet.JspServlet.service(JspServlet.java:358) ~[jasper.jar:8.0.9]
解決: pom.xml修改tomcat
<dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-tomcat</artifactId> <scope>provided</scope> </dependency>
從新jenkins發佈後,訪問正常。
修改pom後,項目下WEB-INF/lib下的jar包沒有了這仨包:tomcat-embed-core-8.5.11.jar, tomcat-embed-el-8.5.11.jar,tomcat-embed-websocket-8.5.11.jarspringboot
Miscellaneous Warning ETIMEDOUT: request to https://registry.npmjs.org/karma-phantomjs-launcher fail
執行 $ npm config list
; cli configs metrics-registry = "https://registry.npmjs.org/" scope = "" user-agent = "npm/5.6.0 node/v8.11.3 linux x64" ; node bin location = /usr/local/src/node-v8.11.3-linux-x64/bin/node ; cwd = /tmp/phantomjs ; HOME = /home/tomcat ; "npm config ls -l" to show all defaults.
執行 $ npm config set registry http://registry.npmjs.org/
執行 $ npm config list
; cli configs metrics-registry = "http://registry.npmjs.org/" scope = "" user-agent = "npm/5.6.0 node/v8.11.3 linux x64" ; userconfig /home/tomcat/.npmrc registry = "http://registry.npmjs.org/" ; node bin location = /usr/local/src/node-v8.11.3-linux-x64/bin/node ; cwd = /tmp/phantomjs ; HOME = /home/tomcat ; "npm config ls -l" to show all defaults.