jetty文件上傳
A. 如何通過 nexus 建立自己本地倉庫
安裝Nexus
我們從http://nexus.sonatype.org/downloads/ 來獲取最新版本,目前最新版本為1.3.4
Nexus提供了兩種安裝方式,一種是內嵌Jetty的bundle,只要你有JRE就能直接運行。第二種方式是WAR,你只須簡單的將其發布到web容器中即可使用。
1)Bundle方式安裝
解壓nexus-webapp-1.3.4-bundle.zip 至任意目錄,如D:\tools ,轉到目錄D:\tools\nexus-webapp-1.3.4\bin\jsw\windows-x86-32 ,運行Nexus.bat ,如果你是在linux下安裝,那麼就下載nexus-webapp-1.3.4-bundle.tar.gz,解壓後轉到${NEXUS_HOME}/ nexus-webapp-1.3.3\bin\jsw\linux-x86-32,它還支持solaris,macos等操作系統。當你看到「Started [email protected]:8081」之後,說明Nexus啟動成功了,然後打開瀏覽器,訪問http://127.0.0.1:8081/nexus,通過admin的帳號(admin)和密碼(admin123)登錄你會看到如下的頁面:
如果有新版本發布,會有提示在默認頁面上。
這里,可以管理倉庫,配置Nexus系統,管理任務,管理用戶,角色,許可權,查看系統的RSS源,管理及查看系統日誌,等等。
War方式安裝
你可以同過war的方式以web應用的形式發布到你的應用伺服器,比如tomcat。你所要做的就是下載war版本的文件,然後放到應用伺服器的發布目錄即可,這里就不多講了。
到此我們已經安裝好Nexus,下面我來介紹下一些我們常用的功能和使用:
配置中央倉庫
先看一下界面:
在左邊菜單欄里選擇Repositories,然後會出現右邊的畫面,右邊上半部分是列出來的repository,黑體字是類型為group的repository. 這里簡單介紹下幾種repository的類型:
hosted,本地倉庫,通常我們會部署自己的構件到這一類型的倉庫。比如公司的第二方庫。
proxy,代理倉庫,它們被用來代理遠程的公共倉庫,如maven中央倉庫。
group,倉庫組,用來合並多個hosted/proxy倉庫,當你的項目希望在多個repository使用資源時就不需要多次引用了,只需要引用一個group即可。
Maven central是Maven的中央倉庫,點擊它並選擇configuration標簽欄,我們會看到下面的頁面:
這里有幾個項目是我們可能會經常用到的:
Override local storage location: 在這個選項你可以配置你的Nexus本地倉庫的存放地址,用來覆蓋其默認的存放地址
Remote storage location: 這里是遠程倉庫的地址,為了提高代理速度,你可以修改為國內的鏡像地址。默認值是http://repo1.maven.org/maven2/
Download remote indexes: 這里配置是否下載遠程索引文件,模式是false, 建議配置為true,這樣我們便可以通過索引文件來搜索我們需要的構件。
添加代理倉庫
Maven central是一個比較大的代理倉庫,如果你需要添加的一個代理倉庫,那麼可以在點擊左邊慘淡欄裡面的Repositories,然後右邊的頁面點擊add -> add proxy repository, 之後出現以下頁面:
填寫相關信息保存即可。通常情況下,使用預設的代理倉庫已經能夠滿足大部分項目的需求了, 只有在特殊需求的情況下才會參加代理倉庫.
管理本地倉庫
我們前面講到類型為hosted的為本地倉庫,Nexus預定義了3個本地倉庫,分別是Releases, Snapshots, 3rd Party. 分別講一下這三個預置的倉庫都是做什麼用的:
Releases: 這里存放我們自己項目中發布的構建, 通常是Release版本的, 比如我們自己做了一個ftp Server的項目, 生成的構件為ftpserver.war, 我們就可以把這個構建發布到Nexus的Releases本地倉庫. 關於符合發布後面會有介紹.
Snapshots: 這個倉庫非常的有用, 它的目的是讓我們可以發布那些非release版本, 非穩定版本, 比如我們在trunk下開發一個項目,在正式release之前你可能需要臨時發布一個版本給你的同伴使用, 因為你的同伴正在依賴你的模塊開發, 那麼這個時候我們就可以發布Snapshot版本到這個倉庫, 你的同伴就可以通過簡單的命令來獲取和使用這個臨時版本.
3rd Party: 顧名思義, 第三方庫, 你可能會問不是有中央倉庫來管理第三方庫嘛, 沒錯, 這里的是指可以讓你添加自己的第三方庫, 比如有些構件在中央倉庫是不存在的. 比如你在中央倉庫找不到Oracle 的JDBC驅動, 這個時候我們就需要自己添加到3rd party倉庫.
你也可以創建自己的本地倉庫,點擊Repository面板上方的Add按鈕,然後選擇Hosted Repository,然後在下方的配置面板中輸入相關信息, 這里我們不再需要填寫遠程倉庫地址,根據自己的需要選擇Release或者Snapshot,如圖:
Maven倉庫組
倉庫組的概念是Maven沒有的,通過前面介紹可以了解到, 我們可以建立多個proxy代理倉庫,hosted本地倉庫, 如果沒有倉庫組的概念,我們如果需要引用這些倉庫的是時候需要一一加入到我們的setting.xml裡面去, 有了倉庫的組的概念, 我們只需要做一次引用就可以了,把我們需要的倉庫加入到倉庫組即可.像這樣:
<repositories>
<repository>
<id>nexus</id>
<url>http://127.0.0.1:8081/nexus/content/groups/public/</url>
<releases>
<enabled>true</enabled>
</releases>
<snapshots>
<enabled>true</enabled>
</snapshots>
</repository>
</repositories>
Nexus中預設了2個倉庫組,public repositories和public snapshot repositories. 如圖:
這個倉庫組默認包含本地倉庫Releases, snapshots, 3rd party和代理倉庫Maven Central. 你可以在Configuration配置頁添加倉庫到這個倉庫組. 如果需要你還可以創建一個倉庫組,如圖:
點擊 Add->Repository Group
出現New Repository Group界面後,填入ID, name 等相關信息, 在右邊Available Repositories 欄里可以選擇你要添加的倉庫到你新建的倉庫組.
通過Nexus搜索構件
在我們實際使用構件的過程中通常遇到一個問題,有時候我緊緊知道我所需要的構建的大致名字,並不知道全稱或group id, 這是件非常頭疼的事情. Nexus基於Nexus indexer的搜索功能幫我們解決了這個問題.
要是用搜索功能, 必須要有索引文件, Nexus默認是不建立索引文件的,因為像中央倉庫這樣的索引文件的建立需要耗費比較大的網路資源,僅索引文件就要幾十兆. 要開啟中央倉庫的索引文件下載功能需要在Maven Central的配置頁面, 把Download Remote Indexes選擇true. 如圖:
這樣設置以後, Nexus會自動從遠程中央倉庫下載索引文件, 為了檢驗索引文件自動下載是否生效,可以卻換到Browse:
如果出現先以上文件夾,那說明索引文件已經建立.
下面我試一下搜索功能, 在左邊菜單欄裡面有個Artifact Search, 在輸入框裡面輸入你想要搜索的構件名字,比如: testing, 那麼查詢結果如下:
這是模糊查詢的結果,當然如果你知道更多信息,比如版本號等,你可以使用高級搜索,點擊高級搜索後,右邊界面會提供集中搜索方式:keyword, classname, GAV, checksum
比如我們這里選擇GAV模式, 而且我只知道artiface name : testng和版本號5.8, 其他的我不知道, 那麼就在artifact 和 version處分別輸入testng 和 5.8 , 搜索結果如下:
你如果你不知道知道構件的名稱, 只知道classname, 那麼你也可以通過class name 的方式搜索,這里就不再贅述
當你選擇一項搜索結果,在頁面的下方會出現這個構件的詳細信息, 並且會列出這個構件的Maven依賴配置, 你可以直接拷貝到你的pom文件中使用,這是個非常實用的功能:
在Maven中使用Nexus
到此為止我們介紹了如何安裝和使用Nexus以及其基本配置, 下面我們介紹下如何讓Maven來使用Nexus本地倉庫用來替代使用遠程倉庫. 在Maven使用Nexus本地倉庫只需稍作配置, 在settings.xml中加入以下代碼:
<profile>
<id>dev</id>
<repositories>
<repository>
<id>nexus</id>
<url>http://127.0.0.1:8081/nexus/content/groups/public/</url>
<releases>
<enabled>true</enabled>
</releases>
<snapshots>
<enabled>true</enabled>
</snapshots>
</repository>
</repositories>
<pluginRepositories>
<pluginRepository>
<id>nexus</id>
<url>http://127.0.0.1:8081/nexus/content/groups/public</url>
<releases>
<enabled>true</enabled>
</releases>
<snapshots>
<enabled>true</enabled>
</snapshots>
</pluginRepository>
</pluginRepositories>
</profile>
</profiles>
<activeProfiles>
<activeProfile>dev</activeProfile>
</activeProfiles>
這里配置了repository和pluginRepository, Maven在使用第三方構件和插件時是分開來配置的,所以如果我們也希望插件的下載也通過我們的本地倉庫來下載,那麼我們就需要配置pluginRepository.
紅色字體部分就是我們之前安裝的Nexus的地址, 這個地址可以是你們公司區域網內部的一台倉庫伺服器.
<releases> <enabled>true</enabled></releases>這個標簽的作用是設定是否允許下載
release版本的載構件, 同樣snapshots標簽可以設定是否允許下載snapshot版本的構件.
通常,我們不建議下載snapshot版本的構件,因為它是不穩定的版本, 除非你有特殊的需
求.
構件部署
有些時候我們需要部署構件到Nexus的3rd party, 比如我們在中央倉庫找不到我們需要的構件, 我們可以通過Nexus的UI來上傳構件:
點擊左邊菜單欄的 Repositories, 然後點擊右邊界面的3rd party, 選擇界面下方的Artifact Upload, 這個時候出現以下界面:
上傳構件需要兩個步驟,一個是定義文件的上傳,再就是構件的實體文件.
第一部分定義文件可以是POM文件, 這也是比較推薦的方式, 如果沒有pom文件,可以
選擇以參數的形式輸入.
第二部分是上傳構件的實體文件,這里簡單說一下Classifier和Extension, 這兩個都是選
填相, Classifier用來區別同功能的構件用於不同的場景, 比如這個構件是分別針對JDK14
和JDK15做了2個功能一樣的Jar, 這個時候你就需要指定這個構件的Classifier為JDK14
還是JDK15. Extension是指擴展名,如果不提供,那麼會自動取這個構件的Packaging Type
作為擴展名, 比如 ear, jar, war 等等. (Packaging Type是在第一步中通過pom文件或者手
工輸入得到的)
剛才說了3rd party的部署, 關於releases 和 snapshots的UI部署也是一樣的操作過程.
我們之前也講過, 這里的releases和snapshots是用來部署我們自己的項目構件的, 通過
UI部署是可以,但是不是最高效的, 我們可以通過配置Maven來自動部署我們的項目構
件,這也是我們建立自己的倉庫的一個非常重要的原因, 下面就讓我們看看如何配置:
首先需要在POM文件中加入以下代碼:
<project>
...
<distributionManagement>
<repository>
<id>nexus-releases</id>
<name>Nexus Release Repository</name>
<url>http://127.0.0.1:8081/nexus/content/repositories/releases/</url>
</repository>
<snapshotRepository>
<id>nexus-snapshots</id>
<name>Nexus Snapshot Repository</name>
<url>http://127.0.0.1:8081/nexus/content/repositories/snapshots/</url>
</snapshotRepository>
</distributionManagement>
...
</project>
這里配置,讓Maven知道當我要發布release版本或者snapshot版本是需要發布到哪個地址.
然後我們需要在setting.xml裡面配置一下Nexus的帳號和密碼:
<settings>
...
<servers>
<server>
<id>nexus-releases</id>
<username>admin</username>
<password>admin123</password>
</server>
<server>
<id>nexus-snapshots</id>
<username>admin</username>
<password>admin123</password>
</server>
</servers>
...
</settings>
到此為止, 我們就可以通過命令mvn deploy或者通過IDE的可視化界面點擊deploy來發布我們項目到本地倉庫了. 通過這種方式我們可以很方便的進行模塊間的依賴開發。
B. java學習路線是怎樣的
第一階段,Java SE基礎:
Java環境搭建、Java流程式控制制語句-for循環、switch選擇判斷、循環嵌套、數組拷貝、多維數組、final關鍵字、構造函數的調用、類的訪問許可權和路徑、面向對象高級特性、Java異常處理、Set,Map,List介面及介面實現類、Java線程、同步阻塞、JavaIO流、文件的操作,復制,讀寫,刪除等。
第二階段,JavaWeb:
Mysql安裝、管理、創建資料庫、MySQLUPDATE
查詢、Mysql高級操作、JDBC、JDBC資料庫連接操作,JDBC動態Sql處理、Servlet3.0 網頁重定向、Servlet3.0
新增的註解支持、AJAX、responseText屬性詳解等。
第三階段,Java高級框架-SSH:
Struts2異常處理、Struts2+Log4j集成、Struts2和JSON實例、Hibernate5、Hibernate集合映射、Hibernate組件映射、Spring4.0、SpringAOP+
AspectJ框架、Spring 與其它Web框架集成、Spring Hibernate支持等。
第四階段,Java高級框架-SSM:
SpringMVC、Spring MVC生成JSON數據、MyBatis、MyBatis 環境配置及入門、Mybatis set標簽、Mybatis trim標簽、Shiro、Shiro快速入門教程、Shiro Web應用等。
第五階段,SpringBoot+VUE全棧框架:
SpringBoot、全局異常處理、過濾器監聽器、EHCache緩存、SpringBoot Quartz定時任務、Vue、Vue.js 安裝、模板語法、計算屬性、事件處理器、Vue.js 自定義指令、Vue.js 路由等
第六階段,特色課程:
ActiveM環境搭建、生產者和消費者、消息持久化操作、RSA數字加密演算法、Codebar條形碼生成器、zxing二維碼生成器、HighCharts統計圖、Echarts統計圖、網路播放器ckplayer、嵌入式網路播放器,可以瀏覽器和移動端隨意使用
第七階段,互聯網框架的高級應用1:
分布式服務框架的理解,Dubbo架構設計詳解及其核心要點,框架運行原理分析、SpringData數據訪問、Lucene搜索引擎、Lucene的全文搜索伺服器介紹、索引建立方式、Solr海量數據搜索引擎、Socket網路通信、實現RMI遠程對象通訊、使用JMS消息服務、Kafka分布式消息系統、WebService與RestfulWS等
第八階段,互聯網框架的高級應用2:
Spring Security安全框架、實現Web應用安全控制、緩存應用與EhCache框架、OSCache與JBossCache框架、MyBatis與Hibernate緩存機制、NoSQL應用與SQL調優、MongoDB
NoSQL資料庫、Redis內存資料庫、實現RedisSession共享、SQL語句的優化、實現資料庫讀寫分離、WEB應用集群及性能優化、Maven項目管理工具、Web伺服器負載均衡、實現Nginx與Tomcat集群、使用LoadRunner測試工具、性能優化之內存調優、代碼優化與重構的方法等。
對java有興趣的小夥伴們,不妨先從java入門開始!B站上有很多的java教學視頻,從基礎到高級的都有,還挺不錯的,知識點講的很細致,還有完整版的學習路線圖。也可以自己去看看,下載學習試試。
C. java學習一般步驟有哪些
首先是Java技能的核心和基礎JavaSE,這一階段會接觸到Java基礎語法、面向對象編程思維、Java常用API、多線程並發編程、數據結構/集合結構、IO/網路編程/反射/設計模式。這一階段往往也是最重要的,後邊許多知識和結構的使用都是根據這一基礎來的。學完這一部分,做一些簡略的桌面使用程序設計沒有問題。
接下來Java的進階課程中,要用到的便是資料庫(MySQL)和JDBC。在之後,要學習到的是JavaWeb開發技能。學完可以具有開發個人網站和企業網站的知識技能。
最後,接下來便是Java課程最重要的部分把學到的Java技術知識應用到實戰項目了,一般實戰項目會占整個課程的少半時間,從淺入深,會接觸到大小型企業內各種真實實戰項目。 比方內容辦理體系(CMS)、智能商貿體系、盛行結構使用、B2C/商城項目等。完結這些項目,你對市面上大多數web使用開發、辦理體系開發、運用前沿技能開發都得心應手。
java學習路線圖:
D. 如何在android手機中安裝一個web伺服器啊。。。急求
正式開始
下載並安裝Androphp、Feel FTP和File Zilla
安裝完成後打開AndroPHP,界面如下:
備註:此處為手機內網IP,意味著你只能用內網設備訪問,在以後的博文中會告訴大家如何進行埠映射,從而實現外網也可訪問
看到上圖兩個地址後,其實可以直接點擊,使用手機瀏覽器訪問的界面如下:
備註:
圖片1中大家可能看不到wordpress文件夾,別急下一步教你上傳。
phpMyAdmin的默認用戶名是root或者是你當前手機的ip地址,密碼為空(這信息可以在phpinfo.php中查看)
接下來,就是教大家如何上傳文件到手機,當然前提是你已經在Wordpress上下載好了wordpress安裝包(下載很簡單的,自己去看看吧)或者你自己已經寫好了.PHP網頁,也可以
兩種方法:
1
1
在手機文件管理里,找到根目錄下的WWW文件夾,然後用數據線是上傳文件到這個文件夾就行了,相當於伺服器的根目錄
利用Feel FTP(手機端)和File Zilla(電腦端)進行文件傳輸。這種方法更像是將手機當成伺服器啊(本人拙見,其實只要效果一樣就行,嘿嘿)
步驟一、打開Feel FTP,點擊下方中間按鈕,綠色變成紅色即為打開,上方也顯示出你是否打開了(ps:你可以在設置中關閉無連接是自動退出,不然等會就要打開一次,太麻煩)
步驟二、電腦上打開File Zilla
在主機名處輸入Feel FTP上顯示的地址。例如我的是:
ftp://192.168.1.121
在埠處填寫 :2121,剩下可以都不填寫(因為Feel FTPmore不開啟用戶名和密碼),點擊快速連接
將你的wordpress文件夾從本地上傳到手機根目錄/www(從窗口1拖動到窗口2,即可)
至此兩種文件上傳方法均講述完畢。
5.利用phpMyAdmin創建資料庫,修改wordpress中的wp-config-sample.php文件,之後的步驟和正常安裝wordpress相同,可參考我之後要寫的wordpress安裝教程,此處介紹到此為止
成果演示
接下來,放幾張演示圖
手機上的wordpress展示:
或者自己編寫的.php文件(此處使用的是官方文檔演示)
E. 學習java需要什麼基礎
學java需要數據結構基礎。要學好一門編程語言,數據結構是必不可少的知識,搞不清楚演算法復雜度的程序員也就只能做做填空式的增刪改查了。
一、掌握靜態方法和屬性
靜態方法和屬性用於描述某一類對象群體的特徵,而不是單個對象的特徵。Java中大量應用了靜態方法和屬性,這是一個通常的技巧。但是這種技巧在很多語言中不被頻繁地使用。理解靜態方法和屬性對於理解類與對象的關系是十分有幫助的,在大量的Java規范中,靜態方法和屬性被頻繁使用。
由於很多語言沒有這么強大的集合框架體系,很多初學者不知所措,更不知道拿來做什麼用,因此應該引起足夠的重視。