The Ant's Story

xiaoxiao2021-03-06  38

Translate by Guipei 200501

Ant tool estimates that many friends should be used, Ant is also an inadvertent and successful tool. It is itself in order to facilitate Tomcat project compilation, the final user is far more than Tomcat users, and the entire Java community is widely used. Do you know the story behind it, this story comes from the original sponsor James Duncan Davidson, which is the original spanker, let us know it.

I must admit that I have more ideas for Ant, just a small build tool, can go so far and developers used by many Java communities. When I write the first version of Ant, it is just a simple tool to help me solve cross-platform compilation problems. Now it has grown quickly, and thousands of developers are used in different projects. What is the magic of this? This applet is used by many people? Perhaps the story of Ant can provide some clues.

Ant has a considerable development time before ANT is included in the CVS service of ANT. In the mid-1998, I was in SUN, and I was responsible for creating Java Servlet2.1 specification, as well as working on it. This implementation specification is the later Tomcat, compared with previous implementations. This is a new system, so it must be 100% pure Java applications. In order to obtain 100% pure Java certification, we work with Sun's Java platform. You must prove it to Key Labs (a neutral certification company) that it can run in three different system platforms. To prove that the implementation of the Servelt specification can be running anywhere, I chose Solaris, Windows, and Mac systems. However, I not only want Tomcat to run on different platforms, but also want it to build and develop on different platforms. I have tried the GNU Make tool, and the system script and batch operations. However, there is different problems in different ways. All issues may come from the tool I use to develop using C language. When using them in Java applications, you can work, but very slow. Although Java programs can be achieved well, the virtual machine starts too much time. And use Make to create a virtual a few when compiling every Java. Compiling a project time With the increase in the project file, the compilation time rises straight.

I tried many ways to write the Make file to resolve different source files that should be used in the project. However, no matter how I work hard to try, how to use the Make wizard multiple times, I have not obtained the way to finally solve a virtual machine compilation problem. In addition, I feel very tired to process the TAB format in the Make file. Later, I made recommendations for Emacs, I hope it can solve space characters that unintentionally created.

In the flight of the European conference, I can't endure different Make files that create different environments that need to run. I started to decide to develop my own tools: You can check all the source files in a project, compare the latest compilation files, and then call Javac to compile new Java source files. In addition, it should have packages that some class files can be packaged to a Java file, as well as the ability to copy some files to meet different software releases. In order to ensure that these things can work on different platforms, I decided to write this tool using Java. A few hours, I have a tool that can run like this. It is quite simple, even somewhat thick, just a few class files. I use the java.util.properties function to implement data layer operation, and it works perfect. My compile time has a magnitude reduction. When I returned, I did test above Solaris, Linux, and Mac systems, everything was perfect. At that time, it only had a few simple features, such as compiling, replicating some files - how this is the core function. After I showed a few weeks of this tool, I named this tool for Ant, because this little thing can be bigger. My friend Jason Hunter (O'Reilly servlet program writer), he thinks this is a very useful tool, but it has not been expected to develop later. Later, I think that the use of Java reflection feature provides a simple way to extend Ant's ability to develop their own tasks to expand it. Things began to develop, I have the first user. Jason always has special ability to discover BUG in software, helping me fix many of them.

After the reflex function is implemented, I have written more tasks, and Ant has become a quite useful tool in Sun. However, as the Build file is increasing, with the introduction of the target (the collection of tasks), the attribute file is not well implemented. I tried to solve this problem with different ways, and I suddenly found the way in the flight returned by Europe. That is to use the hierarchy of the XML document. It also has used experiences that have previously implemented XML tag parsing.

I finally completed the code work in the flight in the flight over the ocean. I am very surprised whether I will add my ability in the high altitude to help me complete the task, or the European trip has brought me more creativity. More tests may know the final result.

Ant, like we know, this is born. The Ant version (good or bad) you are here now is from the decision at the time. Of course, the current Ant has changed very much, but the principle is still that. In late 2000, Ant was included in the CVS repository next to Apache's Tomcat. I later shifted to other work, mainly concentrated in the XML specification of the Apache Software, such as Sun's JAXP, and W

3C

DOM.

It is very surprised, many people are discussing Ant. The first time people found it working under Tomcat. Then they tell their friends, then friends tell their friends, and so on. After some time, people know it, and those who use him are more than Tomcat. Some powerful developers and user communities start growing at the ANT of Apache, and this tool has made a lot of modifications along this road. People use it to build a variety of different projects, from a small application to the huge J2EE system.

At the 2001 Javaone Conference, I know that Ant has entered the formal development. At that time, I demonstrated a new database development tool, a recommender showed how simple is how simple use of the design software in the box. With the flash of the control window, the display process of each user of Ant is complete, complete the task. I was deeply shocked.

The number of users of Ant continues to grow. All of this is from a small desire at the time, and now is shared by all Java programmers in the world. Nothing only, Java developers, I found Nant, an ANT .NET implementation. If I only go to Ant to get the huge success today, I may spend more time, making it more perfect, more complex, is released at the time. However, it is possible to fail on the other of easy use. Perhaps Ant will become too mechanical. If I spend more time, I can do more than the function you need, it may become a big tool that makes it difficult to use. Just like some of the software we have seen, such as the current Java API specification. This looks a little strange, and Ant who doesn't want to succeed has reached this success today. This is a direct answer to such a problem, many people may happen. I am really honored, and the luck happened. -James Duncan Davidson

San Francisco

,

CA

April 2002

转载请注明原文地址:https://www.9cbs.com/read-70940.html

New Post(0)