导航:首页 > 源码编译 > 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打包编译出错相关的资料

热点内容
冰箱压缩机工作的声音 浏览:259
即开型彩票的数据设计算法 浏览:817
a星算法的提出时间 浏览:629
学java工程师 浏览:89
玉凤的服务器怎么样 浏览:717
很多人想转行当程序员 浏览:272
Linux为什么bootloader编译 浏览:701
gcc只运行不编译 浏览:870
网页无法解析服务器是什么意思 浏览:927
服务器如何判断用户是否登录 浏览:847
股市app数值怎么调整红绿色 浏览:846
滴滴车主app怎么学习网约车考试题 浏览:220
如何在电脑上找到服务器地址 浏览:678
vue项目编译后代码逻辑改变了 浏览:964
怎么连接自己部署的服务器 浏览:799
关闭电脑的命令 浏览:281
hlr命令 浏览:639
塞班系统文件夹播放器 浏览:350
编译器如何编出可执行程序 浏览:644
什么是smtp服务器 浏览:266