如何把不同员工开发的java项目模块整合到一起?用什么工具

Python010

如何把不同员工开发的java项目模块整合到一起?用什么工具,第1张

ant可以解决

ant可以完成对于不同个project集成到一个大的project的任务;

如果你是单一project的不同模块,可以用git来管理你们团队的代码;

git也有很多可视化软件例如sourcetree等;

希望对您有帮助;

个人感觉git要比svn管理项目好一些;

java项目一般都是团队开发,当多人共同编写一个项目的时候。

代码的整合就需要用到专门的源码管理工具了。

另外java项目版本的不断更新,也需要版本的管理。

所以源码管理与版本控制工具也是每个java程序员必须要熟练掌握的。

目前比较流行的java版本控制工具主要有svn、git这两款软件。

烟台北大青鸟http://www.kmbdqn.cn/认为这两种工具也是每个java程序员必须要熟练掌握的。

SVNSVN是Subversion的简称,是一个开放源代码的版本控制系统,相较于RCS、CVS,它采用了分支管理系统,它的设计目标就是取代CVS。

互联网上很多版本控制服务已从CVS迁移到Subversion。

说得简单一点SVN就是用于多个人共同开发同一个项目,共用资源的目的。

SVN的缺陷是过分依赖网络,不适合分布式开发。

使用svn的工作流程如下:1、早上从从服务器下载项目组最新代码。

2、进入自己的分支,进行工作,每隔一个小时向服务器自己的分支提交一次代码(很多人都有这个习惯。

因为有时候自己对代码改来改去,最后又想还原到前一个小时的版本,或者看看前一个小时自己修改了哪些代码,就需要这样做了)。

3、下班时间快到了,把自己的分支合并到服务器主分支上,一天的工作完成,并反映给服务器。

GitGit是一个开源的分布式版本控制系统,可以有效、高速的处理从很小到非常大的项目版本管理。

Git是LinusTorvalds为了帮助管理Linux内核开发而开发的一个开放源码的版本控制软件。

与常用的版本控制工具CVS,Subversion等不同,它采用了分布式版本库的方式,不必服务器端软件支持(ps:这得分是用什么样的服务端,使用http协议或者git协议等不太一样。

并且在push和pull的时候和服务器端还是有交互的。

),使源代码的发布和交流极其方便。

目前GIT已经可以在windows下使用,主要方法有二:msysgit和Cygwin。

Cygwin和Linux使用方法类似,Windows版本的GIT提供了友好的GUI(图形界面),安装后很快可以上手使用。

java编写显示文本的应用程序, 需要用到图形界面GUI编程技术.

步骤一: 需要搭建一个整体的外观,  调整布局和组件的位置.

主要需要使用的组件

JTextField 文本框组件: 用于当做地址栏, 填写文件的路径

JButton 按钮, 用于响应点击事件,根据地址栏的地址读取文件, 并且显示到文本域里

JTextArea 文本域, 用于显示文件里的字符串信息

JLabel  标签, 用于显示行数信息

布局: 使用边界布局BorderLayout,可以快速按照上下左右中的位置快速布局.

步骤二: IO流,读取文本文件信息,并统计行数.

由于要按行读取,方便计算文件的行数, 所以使用Buffered 可以事半功倍.

核心代码如下

StringBuffer txtbuf=new StringBuffer()//用于保存文本信息

int lines=0//用于计算行数

try {

BufferedReader br = new BufferedReader(new FileReader(fp))

String hasRead=null

while((hasRead=br.readLine())!=null){

txtbuf.append(hasRead+"\n")

lines++

}

br.close()//IO流用完记得关闭

} catch (Exception e) {

//当IO出现异常时,要进行提示

JOptionPane.showMessageDialog(this, "文件读取错误,确认文件存在,\n或者没有被其他文件打开.","IO错误",JOptionPane.ERROR_MESSAGE)

}

步骤三:整合代码

import java.awt.*

import java.awt.event.*

import java.io.*

import javax.swing.*

public class ShowTextFrame extends JFrame implements ActionListener{

JTextArea jta//该文本域用于显示文本信息

JTextField jtf//该文本框,用于填写文件路径

JLabel jl//该标签用于保存读取到的行数

JButton jbt//按钮

public ShowTextFrame() {

jtf = new JTextField(18)

jbt = new JButton("读取并显示")

jbt.addActionListener(this)

JPanel  jp1 = new JPanel()

jp1.add(jtf)

jp1.add(jbt)

add(jp1,BorderLayout.NORTH)

jta = new JTextArea()

JScrollPane jsp = new JScrollPane(jta)//文本域添加到滚动面板

jsp.setVerticalScrollBarPolicy(JScrollPane.VERTICAL_SCROLLBAR_ALWAYS)//垂直滚动条一直显示

add(jsp)

jl = new JLabel("文件共有0行")

JPanel jp2 = new JPanel()

jp2.add(jl)

add(jp2,BorderLayout.SOUTH)

setTitle("显示文本")//窗口标题

setSize(380, 320)

setLocationRelativeTo(null)//窗口居中

setDefaultCloseOperation(EXIT_ON_CLOSE)

setVisible(true)

}

public void actionPerformed(ActionEvent e) {

if(jbt==e.getSource()){

String fp = jtf.getText().trim()

Info info = getInfo(fp)

jta.setText(info.txt)//把文本信息显示到文本域

jl.setText("文件共有"+info.lines+"行")//把行数显示显示到JLabel

}

}

public Info getInfo(String fp){//通过文件路径,获取文件信息(字符串信息和行数信息)

StringBuffer txtbuf=new StringBuffer()

int lines=0

try {

BufferedReader br = new BufferedReader(new FileReader(fp))

String hasRead=null

while((hasRead=br.readLine())!=null){

txtbuf.append(hasRead+"\n")

lines++

}

br.close()//IO流用完记得关闭

} catch (Exception e) {

//当IO出现异常时,要进行提示

JOptionPane.showMessageDialog(this, "文件读取错误,确认文件存在,\n或者没有被其他文件打开.","IO错误",JOptionPane.ERROR_MESSAGE)

}

return new Info(txtbuf.toString(), lines)

}

public static void main(String[] args) {

new ShowTextFrame()//创建窗口实例

}

}

class Info{//辅助类, 用于传递信息

String txt//文字信息

int lines// 行数信息

public Info(String txt, int lines) {

this.txt = txt

this.lines = lines

}

}

运行效果图