日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問(wèn) 生活随笔!

生活随笔

當(dāng)前位置: 首頁(yè) > 编程资源 > 编程问答 >内容正文

编程问答

idea导入nodejs插件_sbt 项目导入问题

發(fā)布時(shí)間:2024/1/23 编程问答 25 豆豆
生活随笔 收集整理的這篇文章主要介紹了 idea导入nodejs插件_sbt 项目导入问题 小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

1 Overview

有用過(guò) sbt 開(kāi)發(fā)項(xiàng)目的同學(xué)應(yīng)該都有這樣的體會(huì),換個(gè)環(huán)境,sbt 經(jīng)常會(huì)出現(xiàn)編譯項(xiàng)目出錯(cuò)的情況,導(dǎo)入 IDEA 又各種報(bào)錯(cuò),尤其是在 github 上找到一個(gè) sbt 編譯的項(xiàng)目,想 clone 下來(lái)導(dǎo)入 IDEA 中閱讀源碼,跑跑測(cè)試用例,debug 進(jìn)去看看實(shí)現(xiàn)原理等等...

總之一句話,sbt 的項(xiàng)目很麻煩,甚至是見(jiàn)到 sbt 的項(xiàng)目就想躲。

2 問(wèn)題分析

其實(shí)以上的情況是筆者之前經(jīng)常遇到的問(wèn)題,所以下定決定花點(diǎn)時(shí)間解決這個(gè)問(wèn)題。

首先要明白 sbt 其實(shí)是一個(gè) Scala 或者 Java 的一個(gè)構(gòu)建工具,使用上的目的和方式其實(shí)跟 Maven 是大相徑庭的,如果你是 Maven 的老司機(jī),要解決 sbt 的問(wèn)題,應(yīng)該不難。

2.1 sbt 本地問(wèn)題

其實(shí)只要 sbt 在本地可以對(duì)項(xiàng)目進(jìn)行構(gòu)建,就應(yīng)該不存在 IDEA 構(gòu)建不了的問(wèn)題。所以正常的下載安裝 sbt 的流程應(yīng)該是這樣的。

  • 到官網(wǎng) 下載對(duì)應(yīng)的版本,對(duì)于新手建議直接安裝 1.0.0 以上的版本,原因是 0.13 及以上的版本 sbt 團(tuán)隊(duì)?wèi)?yīng)該不再維護(hù),而且新版本應(yīng)該是向上兼容的。
  • 下載后,解壓到自己的軟件安裝路徑上,例如我的,/usr/local/sbt,然后設(shè)置環(huán)境變量。
  • 確認(rèn)一下 sbt 配置(這個(gè)后面會(huì)細(xì)說(shuō))。
  • 關(guān)于第三點(diǎn),這里詳細(xì)解釋一下,正常來(lái)說(shuō) sbt 安裝目錄應(yīng)該是以下這樣的。

    ? sbt tree . ├── bin │ ├── java9-rt-export.jar │ ├── sbt │ ├── sbt-launch-lib.bash │ ├── sbt-launch.jar │ └── sbt.bat ├── conf │ ├── sbtconfig.txt │ └── sbtopts └── lib└── local-preloaded// 這里不詳細(xì)列出來(lái)了

    跟 Maven 一樣,sbt 有個(gè)叫 sbtconfig.txt 的文件,看文件名就知道,這個(gè)是 sbt 的配置文件。這個(gè)文件初始的樣子是這樣的。

    # Set the java args to high-Xmx512M-XX:MaxPermSize=256m-XX:ReservedCodeCacheSize=128m# Set the extra SBT options-Dsbt.log.format=true# 這是我自己添加的 -Dsbt.repository.config=/usr/local/sbt/conf/repositories

    注意最后一行的參數(shù)是筆者添加的,這里是告訴 sbt,jar 包和 sbt 插件的倉(cāng)庫(kù)地址,這里跟 Maven 也是一樣的,可以給 sbt 添加阿里云鏡像或者其他倉(cāng)庫(kù)。這里看看這個(gè)文件的具體內(nèi)容。

    [repositories] local maven-central nexus-aliyun:http://maven.aliyun.com/nexus/content/groups/public sbt-plugins-repo: http://repo.scala-sbt.org/scalasbt/sbt-plugin-releases/, [organization]/[module]/(scala_[scalaVersion]/)(sbt_[sbtVersion]/)[revision]/[type]s/[artifact](-[classifier]).[ext]

    以上的倉(cāng)庫(kù)基本夠用(至少筆者是夠用的),如果還需要其他倉(cāng)庫(kù)(公司倉(cāng)庫(kù)),可以自行添加。更多 sbt 配置參數(shù)可以參考官方文檔。這里需要提示,當(dāng)用命令行構(gòu)建項(xiàng)目的時(shí)候,上述參數(shù)應(yīng)該是這樣的格式 -Dprop=value,以下是我構(gòu)建項(xiàng)目的時(shí)候,輸入命令的一個(gè)例子。

    sbt -Dsbt.override.build.repos=true -Dsbt.repository.config=/usr/local/sbt/conf/repositories

    另外還需要注意的一點(diǎn)是,sbt 很多插件沒(méi)有發(fā)布到中央倉(cāng)庫(kù),阿里云鏡像也沒(méi)有去同步這些插件倉(cāng)庫(kù),如果你不配置上述文件的 sbt-plugins-repo 的倉(cāng)庫(kù)地址,基本上就不要指望可以構(gòu)建項(xiàng)目成功了,這個(gè)也是 sbt 項(xiàng)目比較坑的一個(gè)地方。關(guān)于這些插件倉(cāng)庫(kù),地址其實(shí)已經(jīng)不是上述文件那樣了,只是他會(huì)自動(dòng)跳轉(zhuǎn)到目前的域名,因?yàn)檫@些倉(cāng)庫(kù)已經(jīng)走商業(yè)化模式了,所以原來(lái)的倉(cāng)庫(kù)會(huì)有一定的限制,需要留意一下。

    2.2 IDEA sbt 的配置問(wèn)題

    如果在本地都能構(gòu)建項(xiàng)目成功,那么在 IDEA 中也應(yīng)該成功,因?yàn)?IDEA 是支持 sbt 項(xiàng)目的。但這里會(huì)有一些坑需要注意一下的。

    不管是導(dǎo)入還是創(chuàng)建新的 sbt 項(xiàng)目,都應(yīng)該檢查一下 IDEA 的 sbt 配置,這里以筆者的配置為例。

    注意需要留意的是 sbt-lauch.jar,如果不配置,那么用的是 IDEA 的內(nèi)置的 sbt,為了更靈活的配置 sbt 的一些設(shè)置,建議還是使用自己下載安裝的 sbt,并且設(shè)置 VM 參數(shù),原理等同于上節(jié)說(shuō)的命令行模式的參數(shù)。這里就不多做解釋了,官網(wǎng)是有專門(mén)介紹的。

    2.3 一些測(cè)試

    為了測(cè)試 sbt 的配置是否正確了,建議利用 IDEA 創(chuàng)建和導(dǎo)入一個(gè) sbt 項(xiàng)目,尤其是導(dǎo)入一個(gè)開(kāi)源的 sbt 項(xiàng)目,因?yàn)檫@些項(xiàng)目相對(duì)比較復(fù)雜,sbt 的配置文件中包含了大量的插件和 jar 包,如果可以一次構(gòu)建成功,那么 sbt 的配置就應(yīng)該是沒(méi)有問(wèn)題了,以后如果碰到問(wèn)題了,就仔細(xì)閱讀錯(cuò)誤日志,其實(shí)最多的問(wèn)題就是倉(cāng)庫(kù)配置不對(duì),導(dǎo)入插件和 jar 無(wú)法下載,最終導(dǎo)入構(gòu)建失敗。

    3 Summary

    本文主要介紹了 sbt 的配置和踩坑經(jīng)歷,碰到 sbt 構(gòu)建失敗不要輕易放棄,畢竟 sbt 的動(dòng)態(tài)編譯還是很爽的...

    有任何問(wèn)題歡迎留言私信或者郵件到 runzhliu@163.com。

    創(chuàng)作挑戰(zhàn)賽新人創(chuàng)作獎(jiǎng)勵(lì)來(lái)咯,堅(jiān)持創(chuàng)作打卡瓜分現(xiàn)金大獎(jiǎng)

    總結(jié)

    以上是生活随笔為你收集整理的idea导入nodejs插件_sbt 项目导入问题的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。

    如果覺(jué)得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。