導航:首頁 > 源碼編譯 > git打包編譯出錯

git打包編譯出錯

發布時間:2025-01-09 11:04:41

『壹』 OpenWrt 編譯出錯,求助

您好,你的gcc不支持mips16e的指令,編譯toolchain的時候應該加上 -mips16 選項。不想重新編譯toolchain就改package的Makefile,有可能還有類似的package需要改。
diff --git a/package/system/fstools/Makefile b/package/system/fstools/Makefile
index 18098dd..41ca44c 100644
--- a/package/system/fstools/Makefile
+++ b/package/system/fstools/Makefile
@@ -19,6 +19,7 @@ PKG_SOURCE_VERSION:=
PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION)-$(PKG_SOURCE_VERSION).tar.gz
CMAKE_INSTALL:=1
PKG_CHECK_FORMAT_SECURITY:=0
+PKG_USE_MIPS16:=0

PKG_LICENSE:=GPLv2
PKG_LICENSE_FILES:=

『貳』 git上jplag源碼怎麼打包源碼鏈接https://github.com/jplag我試過在根目錄下打包,取jplag下的包運行報錯

首先進入項目地址

開發提示的編譯說明

『叄』 如何把github上下載下來的maven源代碼zip文件打包成可運行的jar文件

1.下載Spring源碼
git下載地址:https://github.com/SpringSource/spring-framework/
2.下載完成後,編譯前需滿足的先決條件
1)當前系統中安裝了gradle,如果為安裝,可以從:http://www.gradle.org/downloads,選擇一個版本進行下載
2)當前系統安裝了OpenJDK 8 early access build 100 or later,點擊鏈接可以下載。安裝後還需要確認java_HOME環境變數中指向了剛安裝的JDK8
3)鑒於上次編譯Hibernate的經驗,建議修改區域語言為「英語(英國)」,防止在編譯過程中出現字元編碼錯誤。
3.運行編譯命令,將代碼編譯為eclipse項目
1)命令行下切換當當前spring代碼的根目錄
cd C:\Users\Administrator\Documents\GitHub\spring-framework
2)運行import-into-eclipse.bat,這次不是直接運行gradlew.bat,但打開import-into-eclipse.bat可以看到,其實其內部還是調用了gradlew,如:
72行 set COMMAND=gradlew :eclipse
90行 call %COMMAND%
3)編譯時會提示你安裝Spring STS,下載地址
http://springsource.org/downloads/sts
選擇相應的版本下載,我選擇下載的是基於ECLIPSE KEPLER 4.3的32位zip版
下載地址為:
http://download.springsource.com/release/STS/3.3.0/dist/e4.3/spring-tool-suite-3.3.0.RELEASE-e4.3-win32.zip
直接回車確認即可
4)接著會提示要運行的命令是:
./gradlew cleanEclipse :spring-oxm:compileTestJava eclipse -x :eclipse
直接回車確認
5)接下來會自動下載所需的依賴包,等待其下載、編譯完成即可。
編譯的過程中,第一次編譯停留在「> Building > :spring-core:cglibRepackJar」這個提示處很久,查看cmd的進程,貌似死了,我將其結束後重新運行,依舊停留在這個地方。
註:在編譯過程中,經常出現在下載依賴項時沒有響應的情況,需要找到對應的java進程,結束後重新運行,或者直接關閉命令行窗口重新來一次,暫未找到具體原因。
猜測應該和我的網路狀況和java環境有關,編譯過程中嘗試了jdk8的32位和64位版本,都有這個問題。
在編譯多次不成功以後,我通過運行gradlew.bat install,嘗試先把所有的依賴項都先下載下來,在下載子項目相關的依賴項的過程中,仍然會出現命令沒有響應的情況,只能一次又一次地關閉,重新運行。
一次又一次編譯假死後,終於看到了「BUILD SUCCESS」,再次運行import-into-eclipse.bat,這次運行,跳過了很多之前需要下載的依賴項,應該是運行install命令的時候已經下載過了,但還是有一些仍然需要下載的依賴項。觀察輸出,會發現首先會下載依賴項所對應的pom文件,接著才會下載對應的jar。應該是和Maven相關的,有時間要把Maven、ant、ivy、gradle這些都看一下。

『肆』 gitlab的ci/cd進行打包JAVA項目時報錯,ERROR: Job failed: exit status 1

你的代碼在idea或cmd能跑起來嗎?我覺得不像是JDK的問題,你可以試試重建一個項目重新打包一下,有時候打包過程中會因為一些數據不匹配而導致報錯,當然你也可以試試把JDK下載到最新版本,畢竟版本的不同所提供的編譯邏輯也是不同的

『伍』 如何解決webpack打包後,dist文件過大的問題

去除不必要的插件
剛開始用 webpack 的時候,開發環境和生產環境用的是同一個 webpack 配置文件,導致生產環境打包的 JS 文件包含了一大堆沒必要的插件,比如 HotMoleReplacementPlugin, NoErrorsPlugin... 這時候不管用什麼優化方式,都沒多大效果。所以,如果你打包後的文件非常大的話,先檢查下是不是包含了這些插件。
提取第三方庫
像 react 這個庫的核心代碼就有 627 KB,這樣和我們的源代碼放在一起打包,體積肯定會很大。所以可以在 webpack 中設置
{
entry: {
bundle: 'app'
vendor: ['react']
}
plugins: {
new webpack.optimize.CommonsChunkPlugin('vendor', 'vendor.js')
}
}
這樣打包之後就會多出一個 vendor.js 文件,之後在引入我們自己的代碼之前,都要先引入這個文件。比如在 index.html 中
<script src="/build/vendor.js"></script>
<script src="/build/bundle.js"></script>
除了這種方式之外,還可以通過引用外部文件的方式引入第三方庫,比如像下面的配置
{
externals: {
'react': 'React'
}
}
externals 對象的 key 是給 require 時用的,比如 require('react'),對象的 value 表示的是如何在 global 中訪問到該對象,這里是 window.React。這時候 index.html 就變成下面這樣
<script src="//cdn.bootcss.com/react/0.14.7/react.min.js"></script>
<script src="/build/bundle.js"></script>
當然,個人更推薦第一種方式。
代碼壓縮
webpack 自帶了一個壓縮插件 UglifyJsPlugin,只需要在配置文件中引入即可。
{
plugins: [
new webpack.optimize.UglifyJsPlugin({
compress: {
warnings: false
}
})
]
}
加入了這個插件之後,編譯的速度會明顯變慢,所以一般只在生產環境啟用。
另外,伺服器端還可以開啟 gzip 壓縮,優化的效果更明顯。
代碼分割
什麼是代碼分割呢?我們知道,一般載入一個網頁都會把全部的 js 代碼都載入下來。但是對於 web app 來說,我們更想要的是只載入當前 UI 的代碼,沒有點擊的部分不載入。
看起來好像挺麻煩,但是通過 webpack 的 code split 以及配合 react router 就可以方便實現。具體的例子可以看下 react router 的官方示例 huge apps。不過這里還是講下之前配置踩過的坑。
code split 是不支持 ES6 的模塊系統的,所以在導入和導出的時候千萬要注意,特別是導出。如果你導出組件的時候用 ES6 的方式,這時候不管導入是用 CommomJs 還是 AMD,都會失敗,而且還不會報錯!
當然會踩到這個坑也是因為我剛剛才用 NodeJS,而且一入門就是用 ES6 的風格。除了這個之外,還有一點也要注意,在生產環境的 webpack 配置文件中,要加上 publicPath
output: {
path: xxx,
publicPath: yyy,
filename: 'bundle.js'
}
不然的話,webpack 在載入 chunk 的時候,路徑會出錯。
設置緩存
開始這個小節之前,可以先看下大神的一篇文章:大公司里怎樣開發和部署前端代碼。
對於靜態文件,第一次獲取之後,文件內容沒改變的話,瀏覽器直接讀取緩存文件即可。那如果緩存設置過長,文件要更新怎麼辦呢?嗯,以文件內容的 MD5 作為文件名就是一個不錯的解決方案。來看下用 webpack 應該怎樣實現
output: {
path: xxx,
publicPath: yyy,
filename: '[name]-[chunkhash:6].js'
}
打包後的文件名加入了 hash 值
const bundler = webpack(config)
bundler.run((err, stats) => {
let assets = stats.toJson().assets
let name
for (let i = 0; i < assets.length; i++) {
if (assets[i].name.startsWith('main')) {
name = assets[i].name
break
}
}
fs.stat(config.buildTemplatePath, (err, stats) => {
if (err) {
fs.mkdirSync(config.buildTemplatePath)
}
writeTemplate(name)
})
})
手動調用 webpack 的 API,獲取打包後的文件名,通過 writeTemplate 更新 html 代碼。完整代碼猛戳 gitst。

閱讀全文

與git打包編譯出錯相關的資料

熱點內容
學java工程師 瀏覽:87
玉鳳的伺服器怎麼樣 瀏覽:715
很多人想轉行當程序員 瀏覽:270
Linux為什麼bootloader編譯 瀏覽:701
gcc只運行不編譯 瀏覽:870
網頁無法解析伺服器是什麼意思 瀏覽:926
伺服器如何判斷用戶是否登錄 瀏覽:847
股市app數值怎麼調整紅綠色 瀏覽:844
滴滴車主app怎麼學習網約車考試題 瀏覽:220
如何在電腦上找到伺服器地址 瀏覽:676
vue項目編譯後代碼邏輯改變了 瀏覽:962
怎麼連接自己部署的伺服器 瀏覽:799
關閉電腦的命令 瀏覽:281
hlr命令 瀏覽:637
塞班系統文件夾播放器 瀏覽:350
編譯器如何編出可執行程序 瀏覽:644
什麼是smtp伺服器 瀏覽:266
pdf正式版 瀏覽:176
linux重啟oracle資料庫 瀏覽:811
我的世界如何刪除伺服器許可權 瀏覽:875