Java學(xué)習(xí)之創(chuàng)建Spring程序

一淫僻、利用https://start.spring.io/創(chuàng)建Spring程序


創(chuàng)建好之后,下載下來(lái)之后阔拳,使用idea打開崭孤。


二、修改Maven倉(cāng)庫(kù)

Maven默認(rèn)倉(cāng)庫(kù)糊肠,在國(guó)外辨宠。國(guó)內(nèi)使用,會(huì)很慢货裹,在下載依賴時(shí)嗤形,時(shí)不時(shí)卡著不動(dòng)或者中斷』≡玻可以將Maven倉(cāng)庫(kù)改為阿里云的倉(cāng)庫(kù)赋兵,具體操作如下:

  • 修改 maven 根目錄下的 conf 文件夾中的setting.xml 文件的mirrors 節(jié)點(diǎn);
 <mirrors>
    <mirror>
      <id>alimaven</id>
      <name>aliyun maven</name>
      <url>http://maven.aliyun.com/nexus/content/groups/public/</url>
      <mirrorOf>central</mirrorOf>        
    </mirror>
</mirrors>
  • pom.xml文件添加
<repositories>
        <repository>
            <id>alimaven</id>
            <name>aliyun maven</name>
            <url>http://maven.aliyun.com/nexus/content/groups/public/</url>
            <releases>
                <enabled>true</enabled>
            </releases>
            <snapshots>
                <enabled>false</enabled>
            </snapshots>
        </repository>
    </repositories>

三、編寫第一個(gè)Api

@SpringBootApplication
@RestController
public class LearnSpringApplication {

    public static void main(String[] args) {
        SpringApplication.run(LearnSpringApplication.class, args);
    }
    @RequestMapping("/learn")
    public String learn(){
        return "learn spring";
    }

}

我們只需要僅僅一行代碼搔预,就生成一個(gè)api啦霹期,其他的工作Spring Boot幫我們完成了。現(xiàn)在拯田,就來(lái)啟動(dòng)這個(gè)application历造,我們來(lái)看看啟動(dòng)的信息:

application輸出log

從輸出的log可以看到,Tomcat啟動(dòng)了8080端口勿锅,我們?cè)L問(wèn)下剛剛的api
curl http://localhost:8080/learn

同時(shí)帕膜,我們引入了Actuator依賴,給我們做了其他的一些事溢十,譬如說(shuō)垮刹,提供健康檢查。
curl http://localhost:8080/actuator
Actuator提供的服務(wù)

四、使用Maven打包

接下來(lái),我們使用Maven打包

  • 使用mvn clean package 打包;
  • 切換到Target目錄下 >cd target;
  • 查看目錄下文件 dir

    可以看到有兩個(gè)jar包,一個(gè)4k珊蟀,一個(gè)18m寺董。為什么會(huì)相差這么大呢覆糟?一個(gè)是jar包原本的大小,18m的jar包包含了運(yùn)行所需要的依賴遮咖,為可執(zhí)行性文件滩字,可以直接運(yùn)行。接下來(lái)我們來(lái)運(yùn)行下jar包御吞。
  • 運(yùn)行jarjava -jar learn-spring-0.0.1-SNAPSHOT.jar
    啟動(dòng)失敗了

    原來(lái)是8080端口被占用了麦箍,那我們把idea的啟動(dòng)停止了,重新執(zhí)行jar包,可以看到和前面啟動(dòng)application輸出的log一樣陶珠,啟動(dòng)了Tomcat 8080端口挟裂。
    jar包輸出log

    我們?cè)俅卧L問(wèn)下

五、踩過(guò)的坑

似乎看起來(lái)揍诽,超級(jí)簡(jiǎn)單诀蓉,一路順暢,然而一把辛酸淚暑脆。

  • 找不到或無(wú)法加載主類LearnSpringApplication
    網(wǎng)上百度說(shuō)是缺少springboot啟動(dòng)插件渠啤,然后pom.xml已有這個(gè)配置;
    <plugin>
                <groupId>org.springframework.boot</groupId>
                <artifactId>spring-boot-maven-plugin</artifactId>
            </plugin>

有一說(shuō)jar包錯(cuò)誤饵筑,解決方案使用Maven更新依賴埃篓,無(wú)效。一怒之下根资,將項(xiàng)目刪除,重新從https://start.spring.io/創(chuàng)建項(xiàng)目同窘。

  • org.junit不存在玄帕。這次運(yùn)行mvm package時(shí)出現(xiàn)org.junit不存在,繼續(xù)百度想邦,網(wǎng)上方案皆是說(shuō)由于scope造成裤纹,需要去除<scope>test</scope>這個(gè)配置。
    <scope>test</scope>表示依賴的作用域丧没,只能在srctest這個(gè)目錄下起作用鹰椒,在其他目錄不起作用。
    我的項(xiàng)目文件結(jié)構(gòu)為如下圖
    項(xiàng)目結(jié)構(gòu)

    標(biāo)注<scope>test</scope>應(yīng)該是正確的呕童,然而漆际,我也沒有其他辦法,只能試一試夺饲,然而奸汇,錯(cuò)誤依舊施符。淚奔。

接著擂找,刪除倉(cāng)庫(kù)下下載的所有依賴戳吝,運(yùn)行mvn clean package,運(yùn)行項(xiàng)目贯涎,錯(cuò)誤依舊听哭。再次把項(xiàng)目刪除,重新從https://start.spring.io/創(chuàng)建項(xiàng)目塘雳,然而欢唾,這次的錯(cuò)誤再次發(fā)生改變。

  • pom.xmlspring-boot-maven-plugin插件報(bào)紅粉捻,MavenDependencies也報(bào)紅礁遣。
    百度說(shuō)配置下setting.xml阿里鏡像,然而我配置的是阿里鏡像啊肩刃。重新查看Maven菜鳥教程祟霍,不僅需要設(shè)置setting.xml,pom.xml也需要添加下相關(guān)節(jié)點(diǎn):
<repositories>
        <repository>
            <id>alimaven</id>
            <name>aliyun maven</name>
            <url>http://maven.aliyun.com/nexus/content/groups/public/</url>
            <releases>
                <enabled>true</enabled>
            </releases>
            <snapshots>
                <enabled>false</enabled>
            </snapshots>
        </repository>
    </repositories>

加上,運(yùn)行mvn clean package盈包,還是報(bào)紅沸呐。
再次使用終極大法,刪除倉(cāng)儲(chǔ)呢燥,重新建崭添。
這次是先配置好pom.xml,添加repositories節(jié)點(diǎn)叛氨,運(yùn)行mvn clean package呼渣,沒有報(bào)紅,有希望寞埠,run LearnSpringApplication終于成功了屁置。

血淚之經(jīng)驗(yàn): 倉(cāng)庫(kù)一定要配置好

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個(gè)濱河市仁连,隨后出現(xiàn)的幾起案子蓝角,更是在濱河造成了極大的恐慌,老刑警劉巖饭冬,帶你破解...
    沈念sama閱讀 217,657評(píng)論 6 505
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件使鹅,死亡現(xiàn)場(chǎng)離奇詭異,居然都是意外死亡昌抠,警方通過(guò)查閱死者的電腦和手機(jī)患朱,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,889評(píng)論 3 394
  • 文/潘曉璐 我一進(jìn)店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái)扰魂,“玉大人麦乞,你說(shuō)我怎么就攤上這事蕴茴。” “怎么了姐直?”我有些...
    開封第一講書人閱讀 164,057評(píng)論 0 354
  • 文/不壞的土叔 我叫張陵倦淀,是天一觀的道長(zhǎng)。 經(jīng)常有香客問(wèn)我声畏,道長(zhǎng)撞叽,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 58,509評(píng)論 1 293
  • 正文 為了忘掉前任插龄,我火速辦了婚禮愿棋,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘均牢。我一直安慰自己糠雨,他們只是感情好,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,562評(píng)論 6 392
  • 文/花漫 我一把揭開白布徘跪。 她就那樣靜靜地躺著甘邀,像睡著了一般。 火紅的嫁衣襯著肌膚如雪垮庐。 梳的紋絲不亂的頭發(fā)上松邪,一...
    開封第一講書人閱讀 51,443評(píng)論 1 302
  • 那天,我揣著相機(jī)與錄音哨查,去河邊找鬼逗抑。 笑死,一個(gè)胖子當(dāng)著我的面吹牛寒亥,可吹牛的內(nèi)容都是我干的邮府。 我是一名探鬼主播,決...
    沈念sama閱讀 40,251評(píng)論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼护盈,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼挟纱!你這毒婦竟也來(lái)了?” 一聲冷哼從身側(cè)響起腐宋,我...
    開封第一講書人閱讀 39,129評(píng)論 0 276
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤,失蹤者是張志新(化名)和其女友劉穎檀轨,沒想到半個(gè)月后胸竞,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 45,561評(píng)論 1 314
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡参萄,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,779評(píng)論 3 335
  • 正文 我和宋清朗相戀三年卫枝,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片讹挎。...
    茶點(diǎn)故事閱讀 39,902評(píng)論 1 348
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡校赤,死狀恐怖吆玖,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情马篮,我是刑警寧澤沾乘,帶...
    沈念sama閱讀 35,621評(píng)論 5 345
  • 正文 年R本政府宣布,位于F島的核電站浑测,受9級(jí)特大地震影響翅阵,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜迁央,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,220評(píng)論 3 328
  • 文/蒙蒙 一掷匠、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧岖圈,春花似錦讹语、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,838評(píng)論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)。三九已至崇摄,卻和暖如春擎值,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背逐抑。 一陣腳步聲響...
    開封第一講書人閱讀 32,971評(píng)論 1 269
  • 我被黑心中介騙來(lái)泰國(guó)打工鸠儿, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留,地道東北人厕氨。 一個(gè)月前我還...
    沈念sama閱讀 48,025評(píng)論 2 370
  • 正文 我出身青樓进每,卻偏偏與公主長(zhǎng)得像,于是被迫代替她去往敵國(guó)和親命斧。 傳聞我的和親對(duì)象是個(gè)殘疾皇子田晚,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 44,843評(píng)論 2 354