github编译
1. 怎么编译运行从github上下载下来的maven项目源码(我想调试运行的是sonarqube的源码)跪求大神orz
maven 编译命令
从别处拷贝来的maven项目,有时候会出现不能debug关联的情况,即按住ctrl键后不能跳转到相应的类或方法,这是需要eclipse环境生成 Eclipse 项目文件的。
可以在cmd命令窗口下进入到maven项目包含pom.xml文件的目录下,运行 mvn eclipse:eclipse 命令即可,如果还不行,可使用mvn compile :编译源代码 命令。
--------------------------------------------------------------------------------------------------------------------------------
下面是一些maven的常用命令:
Maven2 的运行命令为 : mvn ,
常用命令为 :
mvn archetype:create :创建 Maven 项目
mvn compile :编译源代码
mvn test-compile :编译测试代码
mvn test : 运行应用程序中的单元测试
mvn site : 生成项目相关信息的网站
mvn clean :清除目标目录中的生成结果
mvn package : 依据项目生成 jar 文件
mvn install :在本地 Repository 中安装 jar
mvn eclipse:eclipse :生成 Eclipse 项目文件
生成项目
建一个 java 项目 : mvn archetype:create -DgroupId=com.demo -DartifactId=App
建一个 web 项目 : mvn archetype:create -DgroupId=com.demo -DartifactId=web-app -DarchetypeArtifactId=maven-archetype-webapp
生成 Eclipse 项目
普通 Eclipse 项目执行 : mvn eclipse:eclipse
Eclipse WTP 项目执行 : mvn eclipse:eclipse –Dwtpversion=1.0
更详细的,自己网络搜索 maven 编译,学习一下吧
2. 如何编译github搞下来的amule-dlp
在开始之前,您需要:
下载 amule-dlp 的源代码
打开文本终端
进入 amule-dlp 的源代码目录
安装编译环境
您需要 root 才能进行本步骤(注意命令前的提示符,'#'表示需要root权限,'$'表示一般用户即可执行)
如果您使用的发行版收录了amule,您可以使用如下命令:
# apt-get build-dep amule
该命令会为您安装所有编译官方版 aMule 所需的包
否则,您需要手动安装全部依赖包:
# apt-get install g++ libcrypto++-dev libgtk2.0-dev libgd2-xpm-dev libgeoip-dev libupnp3-dev zlib1g-dev libwxgtk3.0-dev libboost-dev libboost-system-dev
如果您需要打开 WebServer 支持,就还需安装 bison 软件包:
# apt-get install bison
配置源代码
如果您使用的发行版收录了 aMule,那么在配置源代码前,最好找一找发行版针对 aMule 的补丁包,并将其补入 amule-dlp 中(这些补丁就暂时不要提交到这里啦)以更好地适应该发行版提供的编译、运行环境
原则上版本库中不保存通过程序自动生成的文件,因此您可能会发现源代码目录中并没有 configure 脚本。如果是,在源代码目录中调用 autogen.sh 来生成它:
$ ./autogen.sh
此过程可能需要 autoconf 和 automake 以及 flex 如果是,则安装它们。
编译过程尽量不要直接在源代码目录中进行,比较简单的方法是在源代码目录下建一个子目录,并在其中调用 configure 及此后的整个编译过程:
$ /path/to/configure --enable-optimize --with-denoise-level=3 --enable-upnp --enable-geoip --enable-nls --enable-amule-daemon --enable-amulecmd --disable-webserver --enable-alcc --enable-alc --enable-cas --enable-wxcas --enable-mmap --with-boost
您可以根据需要修改这些配置。例如:
安装位置通过 --prefix 来指定(默认为 /usr/local )
如果您不需要 uPnP 支持,可以把 --enable-upnp 改为 --disable-upnp
如果您需要 WebServer 支持,请把 --disable-webserver 改为 --enable-webserver
如果您打算调试 amule-dlp,请安装 binutils-dev 或其他提供 libbfd 开发环境的包并添加 --enable-debug 参数
详见:
$ /path/to/configure --help
如有需要,可使用debian/rules来打包。
编译
$ make
如果您的计算机有n个CPU核心,则可以使用以下命令来充分利用CPU的运算能力:
$ make -jn
或者用 nproc 命令让系统自动判断CPU数目:
$ make -j`nproc`
编译需要较长时间,所需时间因计算机的运算能力的不同而有差异。
安装
# make install
好了,现在您可以执行:
$ amule
或点击 应用程序 - 互联网 - aMule 来启动 amule-dlp !
3. 如何编译android app github源码
在Github上开源的项目,不一定会提供目标程式的。 为了项目的整洁,通常的做法是设置git忽略编译生成的目标文件的。
4. 求助一个github上的c++工程应该如何编译使用
读readme文件,看上去每一步写的很清楚,如果有具体哪一步有问题再具体问。
总体上是先clone到本地,安装依赖的组件,然后用cmake编译。
C++初学者就看GraphCut也太难了吧,你以前是用matlab还是python的?
5. 如何编译github项目
git clone拷贝到本地,阅读里面文档ReadMe.md,里面会有编译的教程,少数没有的,需要自行去查找相关官方文档。
6. 怎么在github上编译 apache zeppelin
用于做数据分析和可视化
一、二进制安装
1)下载二进制包
wget http://mirrors.tuna.tsinghua.e.cn/apache/incubator/zeppelin/0.5.6-incubating/zeppelin-0.5.6-incubating-bin-all.tgz
2)解压缩
tar -xzvf zeppelin-0.5.6-incubating-bin-all.tgz
cd zeppelin-0.5.6-incubating-bin-all
bin/zeppelin-daemon.sh start
注:默认端口是8080,若此端口被占用,到conf下
cp zeppelin-site.xml.template zeppelin-site.xml
vim zeppelin-site.xml
<property>
<name>zeppelin.server.addr</name>
<value>172.16.1.29</value>
<description>Server address</description>
</property>
<property>
<name>zeppelin.server.port</name>
<value>8080</value>
<description>Server port.</description>
</property>
修改zeppelin.server.port端口,zeppelin.server.addr默认是0.0.0.0可以不修改,也可以修改成本机ip(云服务器一定要ip addr看一下本机的ip,而不是绑定的外网ip),java版本1.7。
访问Zeppelin
localhost:8080 访问到zepplin主页。
注:1.主界面默认端口为8080,若此端口被占用,则启动会出错。可以到conf目录下
[root@public_view_databank conf]# cp zeppelin-site.xml.template zeppelin-site.xml
修改其中的参数
<property>
<name>zeppelin.server.addr</name>
<value>0.0.0.0</value>
<description>Server address</description>
</property>
<property>
<name>zeppelin.server.port</name>
<value>9090</value>
<description>Server port.</description>
</property>
修改zeppelin.server.port
Zeppelin.server.addr可以默认0.0.0.0也可以修改成本地ip
二、源码安装
1)下载源码包
Zeppelin 0.5.6-incubating:
wget http://mirror.bit.e.cn/apache/incubator/zeppelin/0.5.6-incubating/zeppelin-0.5.6-incubating.tgz
Zeppelin 0.6.0-SNAPSHOT:
git clone https://github.com/apache/zeppelin.git
2)配置环境
# Requirements
+ Git
+ Java 1.7
+ Tested on Mac OSX, Ubuntu 14.X, CentOS 6.X, Windows 7 Pro SP1
+ Maven (if you want to build from the source code)
+ Node.js Package Manager (npm, downloaded by Maven ring build phase)
# 编译环境构建
## git install
[root@gitlab-machine ~]# git version
git version 1.7.1
## install jdk
[root@gitlab-machine~]#wget http://download.oracle.com/otn-pub/java/jdk/7u79-b15/jdk-7u79-linux-x64.tar.gz
[root@gitlab-machine ~]# tar -zxf jdk-7u79-linux-x64.tar.gz -C /opt/
[root@gitlab-machine ~]# cd /opt/
[root@gitlab-machine opt]# ln -s jdk1.7.0_79 jdk
[root@gitlab-machine opt]# vim ~/.bash_profile 追加
export JAVA_HOME=/opt/jdk
export PATH=.:$JAVA_HOME/bin:$PATH
export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar
[root@gitlab-machine opt]# source ~/.bash_profile
[root@gitlab-machine opt]# java -version
java version "1.7.0_79"
Java(TM) SE Runtime Environment (build 1.7.0_79-b15)
Java HotSpot(TM) 64-Bit Server VM (build 24.79-b02, mixed mode)
## install maven
[root@gitlab-machineopt]#wget http://www.eu.apache.org/dist/maven/maven-3/3.3.3/binaries/apache-maven-3.3.3-bin.tar.gz
[root@gitlab-machine opt]# tar -zxf apache-maven-3.3.3-bin.tar.gz
[root@gitlab-machine opt]# ln -s apache-maven-3.3.3 maven
[root@gitlab-machine opt]# echo "export MAVEN_HOME=/opt/maven" >> ~/.bash_profile
[root@gitlab-machineopt]# echo "export PATH=$MAVEN_HOME/bin:$PATH:$HOME/bin" >> ~/.bash_profile
[root@gitlab-machine opt]# source ~/.bash_profile
[root@gitlab-machine opt]# mvn -version
Apache Maven 3.3.3 (; 2015-04-22T19:57:37+08:00)
Maven home: /opt/maven
Java version: 1.7.0_79, vendor: Oracle Corporation
Java home: /opt/jdk1.7.0_79/jre
Default locale: en_US, platform encoding: UTF-8
OS name: "linux", version: "2.6.32-504.el6.x86_64", arch: "amd64", family: "unix"
## install node.js
yum install http://dl.fedoraproject.org/pub/epel/6/x86_64/epel-release-6-8.noarch.rpm
yum repolist
[root@gitlab-machine opt]# yum search nodejs npm|wc -l
21
[root@gitlab-machine opt]# sudo yum install nodejs npm --enablerepo=epel
[root@gitlab-machine opt]# node -v
v0.10.42
[root@gitlab-machine opt]# npm -v
1.3.6
[root@gitlab-machine opt]# cd /data/
## build zeppline
[root@gitlab-machine opt]# cd /data/
[root@gitlab-machinedata]#wget https://github.com/apache/zeppelin/archive/v0.5.6.zip
[root@gitlab-machine data]# unzip v0.5.6.zip
[root@gitlab-machine data]# cd zeppelin-0.5.6/
[root@gitlab-machine
zeppelin-0.5.6]# nohup mvn clean package -Pspark-1.6 -Phadoop-2.6
-Pyarn -Ppyspark -DskipTests > nohup.out &
[root@gitlab-machine zeppelin-0.5.6]# jobs
[1]+ Running nohup mvn clean package -Pspark-1.6 -Phadoop-2.6 -Pyarn -Ppyspark -DskipTests > nohup.out &
参考地址:https://github.com/apache/zeppelin/
[root@gitlab-machine zeppelin-0.5.6]# tail -f nohup.out
1.Exception in thread "main" Exception: java.lang.OutOfMemoryError thrown
解决办法:
export MAVEN_OPTS="-Xmx2g -XX:MaxPermSize=512M -XX:ReservedCodeCacheSize=512m"
2.[INFO] Zeppelin: Elasticsearch interpreter ................ SUCCESS [15:56 min]
[INFO] Zeppelin: web Application .......................... FAILURE [03:51 min]
[INFO] Zeppelin: Server ................................... SKIPPED
[INFO] Zeppelin: Packaging distribution ................... SKIPPED
[INFO] ------------------------------------------------------------------------
[INFO] BUILD FAILURE
[INFO] ------------------------------------------------------------------------
[INFO] Total time: 20:57 min
[INFO] Finished at: 2016-06-08T02:19:40-04:00
[INFO] Final Memory: 93M/957M
[INFO] ------------------------------------------------------------------------
[ERROR]
Failed to execute goal
com.github.eirslett:frontend-maven-plugin:0.0.23:npm (npm install) on
project zeppelin-web: Failed to run task: 'npm install --color=false'
failed. (error code 126) -> [Help 1]
[ERROR]
[ERROR] To see the full stack trace of the errors, re-run Maven with the -e switch.
[ERROR] Re-run Maven using the -X switch to enable full debug logging.
[ERROR]
[ERROR] For more information about the errors and possible solutions, please read the following articles:
[ERROR] [Help 1] http://cwiki.apache.org/confluence/display/MAVEN/MojoFailureException
[ERROR]
[ERROR] After correcting the problems, you can resume the build with the command
[ERROR] mvn <goals> -rf :zeppelin-web
网上查找修改zeppelin-web下的pom.xml
<execution>
<id>npm install</id>
<goals>
<goal>npm</goal>
</goals>
</execution>
<execution>
<id>bower install</id>
<goals>
<goal>bower</goal>
</goals>
<configuration>
<arguments>--allow-root install</arguments>
</configuration>
</execution>
<execution>
<id>grunt build</id>
<goals>
<goal>grunt</goal>
</goals>
<configuration>
<arguments>--no-color --force</arguments>
</configuration>
</execution>
</executions>
</plugin>
[root@host-172-16-1-80 zeppelin-web]# npm install
[root@host-172-16-1-80 zeppelin-web]# bower –alow-root install
[root@host-172-16-1-80 zeppelin-web]# grunt –force
[root@host-172-16-1-80 zeppelin-web]# mvn install -DskipTests
启动zeppelin
[root@bigdata-redhadoop-1 src]# cd zeppelin-0.5.6-incubating
[root@bigdata-redhadoop-1 zeppelin-0.5.6-incubating]# bin/zeppelin-daemon.sh start
Log dir doesn't exist, create /opt/bigcrh/zeppelin/src/zeppelin-0.5.6-incubating/logs
Pid dir doesn't exist, create /opt/bigcrh/zeppelin/src/zeppelin-0.5.6-incubating/run
Zeppelin start [ OK ]
[root@public_view_databank ~]# jps
18710 ZeppelinServer
7. github怎么编译出程序
github 只是源码的保存库,没有编译器。。。。。。自己根据源码的类型,选择编译器、编译出结果
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
8. 怎样使用 GitHub
github是一个基于git的代码托管平台,付费用户可以建私人仓库,我们一般的免费用户只能使用公共仓库,也就是代码要公开。对于一般人来说公共仓库就已经足够了,而且我们也没多少代码来管理,O(∩_∩)O~。步骤:
1.注册账户以及创建仓库
要想使用github第一步当然是注册github账号了。之后就可以创建仓库了(免费用户只能建公共仓库),Create a New Repository,填好名称后Create,之后会出现一些仓库的配置信息,这也是一个git的简单教程。
2.安装客户端msysgit
github是服务端,要想在自己电脑上使用git我们还需要一个git客户端,我这里选用msysgit,这个只是提供了git的核心功能,而且是基于命令行的。如果想要图形界面的话只要在msysgit的基础上安装TortoiseGit即可。
装完msysgit后右键鼠标会多出一些选项来,在本地仓库里右键选择Git Init Here,会多出来一个.git文件夹,这就表示本地git创建成功。右键Git Bash进入git命令行,为了把本地的仓库传到github,还需要配置ssh key。
3.配置Git
首先在本地创建ssh key;
$
ssh-keygen
-t rsa -C
"[email protected]"
后面的[email protected]改为你的邮箱,之后会要求确认路径和输入密码,我们这使用默认的一路回车就行。成功的话会在~/下生成.ssh文件夹,进去,打开id_rsa.pub,复制里面的key。
回到github,进入Account Settings,左边选择SSH Keys,Add SSH Key,title随便填,粘贴key。为了验证是否成功,在git bash下输入:
$
ssh
-T [email protected]
如果是第一次的会提示是否continue,输入yes就会看到:You’ve successfully authenticated, but GitHub does not provide shell access 。这就表示已成功连上github。
接下来我们要做的就是把本地仓库传到github上去,在此之前还需要设置username和email,因为github每次commit都会记录他们。
$ git config --global user.name
"your name"
$ git config --global user.email
"[email protected]"
进入要上传的仓库,右键git bash,添加远程地址:
$ git remote add origin [email protected]:yourName/yourRepo.git
后面的yourName和yourRepo表示你再github的用户名和刚才新建的仓库,加完之后进入.git,打开config,这里会多出一个remote “origin”内容,这就是刚才添加的远程地址,也可以直接修改config来配置远程地址。
4.提交、上传
接下来在本地仓库里添加一些文件,比如README,
$ git add README
$ git commit -m
"first commit"
上传到github:
$ git push origin master
git push命令会将本地仓库推送到远程服务器。
git pull命令则相反。
修改完代码后,使用git status可以查看文件的差别,使用git add 添加要commit的文件,也可以用git add -i来智能添加文件。之后git commit提交本次修改,git push上传到github。
5.gitignore文件
.gitignore顾名思义就是告诉git需要忽略的文件,这是一个很重要并且很实用的文件。一般我们写完代码后会执行编译、调试等操作,这期间会产生很多中间文件和可执行文件,这些都不是代码文件,是不需要git来管理的。我们在git status的时候会看到很多这样的文件,如果用git add -A来添加的话会把他们都加进去,而手动一个个添加的话也太麻烦了。这时我们就需要.gitignore了。比如一般c#的项目我的.gitignore是这样写的:
bin
*.suo
obj
bin和obj是编译目录,里面都不是源代码,忽略;suo文件是vs2010的配置文件,不需要。这样你在git status的时候就只会看到源代码文件了,就可以放心的git add -A了。
6.tag
我们可以创建一个tag来指向软件开发中的一个关键时期,比如版本号更新的时候可以建一个“v2.0”、“v3.1”之类的标签,这样在以后回顾的时候会比较方便。tag的使用很简单,主要操作有:查看tag、创建tag、验证tag以及共享tag。
6.1查看tag
列出所有tag:
git tag
这样列出的tag是按字母排序的,和创建时间没关系。如果只是想查看某些tag的话,可以加限定:
git tag -l v1.*
这样就只会列出1.几的版本。
6.2创建tag
创建轻量级tag:
git tag v1.0
这样创建的tag没有附带其他信息,与之相应的是带信息的tag:
git tag -a v1.0 -m
'first version'
-m后面带的就是注释信息,这样在日后查看的时候会很有用,这种是普通tag,还有一种有签名的tag:
git tag -s v1.0 -m
'first version'
前提是你有GPG私钥,把上面的a换成s就行了。除了可以为当前的进度添加tag,我们还可以为以前的commit添加tag:
#首先查看以前的commit
git log --oneline
#假如有这样一个commit:8a5cbc2 updated readme
#这样为他添加tag
git tag -a v1.1 8a5cbc2
6.3删除tag
很简单,知道tag名称后:
git tag -d v1.0
6.4验证tag
如果你有GPG私钥的话就可以验证tag:
git tag -v
v1.0
6.5共享tag
我们在执行git push的时候,tag是不会上传到服务器的,比如现在的github,创建tag后git push,在github网页上是看不到tag的,为了共享这些tag,你必须这样:
git push origin --tags
9. 我在github下载的源码,使用make编译出现错误
clone项目时因为网络原因没有下载完整
10. github上的C++项目如何用eclipse打开、编译
首先,这个项目不是用IDE管理的,而是用UNIX上的一些工具来自动编译的。
所以,需要一个Linux/UNIX系统环境…
如果一定要用Windows的话,Cygwin可以模拟一个这样的环境…
然后,最好懂一些*nix命令行的使用…
如果不会的话,输入
./configure
make
可以完成最基本的编译操作。