??xml version="1.0" encoding="utf-8" standalone="yes"?>久久精品国产亚洲AV天海翼,亚洲国产精品无码av,亚洲国产一成人久久精品http://www.tkk7.com/zhenyu/category/9383.htmlThe man who has made up his mind to win will never say“Impossible? ——Napoleonzh-cnSun, 11 Mar 2007 01:08:19 GMTSun, 11 Mar 2007 01:08:19 GMT60Remember The Name - Fort Minorhttp://www.tkk7.com/zhenyu/archive/2006/08/04/61623.htmlRain's BlogRain's BlogFri, 04 Aug 2006 00:04:00 GMThttp://www.tkk7.com/zhenyu/archive/2006/08/04/61623.htmlhttp://www.tkk7.com/zhenyu/comments/61623.htmlhttp://www.tkk7.com/zhenyu/archive/2006/08/04/61623.html#Feedback0http://www.tkk7.com/zhenyu/comments/commentRss/61623.htmlhttp://www.tkk7.com/zhenyu/services/trackbacks/61623.html , ,
A cool song by Fort Minor - a member of Linkin Park. I like this song very much. Hope you'll like it too.
来自LinkinPark成员FortMinor写的一首很L歌。我非常喜欢。希望你们也喜欢?br />
Download link下蝲链接
Remember The Name - Fort Minor

Lyric歌词
Remember The Name
Fort Minor

[Mike - Spoken]
You ready? Lets go!
Yeah, for those of you that want to know what we're all about
It's like this y'all (c'mon!)

[Chorus]
It's just ten percent luck,
Twenty percent skill,
Fifteen percent concentrated power of will,
Five percent pleasure,
Fifty percent pain,
And a hundred percent reason to remember the name!

[Mike]
Mike
He doesn't need his name up in lights
He just wants to be heard whether it's the beat or the mic
He feels so unlike everybody else, alone
In spite of the fact that some people still think that they know him
But **** em'
He knows the code:
It's not about the salary
It's about reality and making some noise
Makin the story
Makin sure his clique stays up
That means when he puts it down Tak's pickin it up!

[Tak]
Who the hell is he anyway?
He never really talks much
Never concerned with status but still leavin them star struck
Humbled through opportunities given to him despite the fact
That many misjudge him because he makes a livin from writin raps
Put it together himself, now the picture connects
Never askin for someone's help, to get some respect
He's only focused on what he wrote, his will is beyond reach
And now when it all unfolds, the skill of an artist

[Ryu]
It's just twenty percent skill
Eighty percent fear
Be one hundred percent clear cause Ryu is ill
Who would've thought that he'd be the one to set the west in flames
And I heard him wreckin with The Crystal Method, "Name Of The Game"
Came back dropped Megadef, took em to church
I'm like bleach man, why you have the stupidest verse?
This dude is the truth, now everybody be givin him guest spots
His stock's through the roof I heard he ****in with S-Dot!

[Chorus]
It's just ten percent luck,
Twenty percent skill,
Fifteen percent concentrated power of will,
Five percent pleasure,
Fifty percent pain,
And a hundred percent reason to remember the name!

[Ryu]
They call him Ryu the sick
And he's spittin fire with Mike
Got him out the dryer he's hot
Found him in Fort Minor with Tak
Been a ****in annihilist porcupine
He's a prick, he's a cock
The type woman want to be with
And rappers hope he get shot
Eight years in the makin
Patiently waitin to blow
Now the record with shinoda's takin over the globe
He's got a partner in crime his shit is equally dope
You wont believe the kind of shit that comes out of this kid's throat

[Tak]
Tak
He's not your everyday on the block
He knows how to work with wood
He's god makin his way to the top
People think its a common owners name
People keep askin him was it given at birth,
Or does it stand for an acronym?
No he's livin proof,
Got him rockin the booth
He'll get you buzzin quicker than a shot of vodka with juice
Him and his crew are known around as one of the best
Dedicated to what they doin give a 100%

[Mike]
Forget Mike
Nobody really knows how or why he works so hard
It seems like he's never got time
Because he writes every note and he writes every line
And I've seen him at work when that light goes on in his mind
It's like a design is written in his head every time
Before he even touches a key or speaks in a rhyme
And those mother****ers he runs with, those kids that he signed?
Ridiculous, without even trying, how do they do it?!

[Chorus]
It's just ten percent luck,
Twenty percent skill,
Fifteen percent concentrated power of will,
Five percent pleasure,
Fifty percent pain,
And a hundred percent reason to remember the name! x2

[Outro - Mike]

Yeah! Fort Minor!
M. Shinoda, Styles of Beyond!
Ryu, Tak here!
Machine Shop!


Rain's Blog 2006-08-04 08:04 发表评论
]]>
Z论文Q学习Texhttp://www.tkk7.com/zhenyu/archive/2006/07/19/58977.htmlRain's BlogRain's BlogWed, 19 Jul 2006 06:12:00 GMThttp://www.tkk7.com/zhenyu/archive/2006/07/19/58977.htmlhttp://www.tkk7.com/zhenyu/comments/58977.htmlhttp://www.tkk7.com/zhenyu/archive/2006/07/19/58977.html#Feedback0http://www.tkk7.com/zhenyu/comments/commentRss/58977.htmlhttp://www.tkk7.com/zhenyu/services/trackbacks/58977.htmlhttp://www.chinatex.org
2.Ctex
http://www.ctex.org
3.hooklee's TeX Page: ChinaTeX Project
http://www.hooklee.com/tex.html


Rain's Blog 2006-07-19 14:12 发表评论
]]>
听《红色摇滚》中国际歌,让h热血沸腾http://www.tkk7.com/zhenyu/archive/2006/07/17/58590.htmlRain's BlogRain's BlogMon, 17 Jul 2006 08:07:00 GMThttp://www.tkk7.com/zhenyu/archive/2006/07/17/58590.htmlhttp://www.tkk7.com/zhenyu/comments/58590.htmlhttp://www.tkk7.com/zhenyu/archive/2006/07/17/58590.html#Feedback1http://www.tkk7.com/zhenyu/comments/commentRss/58590.htmlhttp://www.tkk7.com/zhenyu/services/trackbacks/58590.html
h饥寒交迫的奴?
h全世界受苦的?
满腔的热血已经沸腾要ؓ真理而斗?
旧世界打个落花流水奴隶们hh 
不要说我们一无所有我们要做天下的Mh 
q是最后的斗争团结h到明?
qU雄耐尔׃定要实现 
q是最后的斗争团结h到明?
qU雄耐尔׃定要实现 
从来没有什么救世主也不靠神仙皇?
要创造hcȝq福全靠我们自己 
我们要夺回劳动果实让思想冲破牢笼 
快把那炉火烧得通红热打铁才能成功 
q是最后的斗争团结h到明?
qU雄耐尔׃定要实现 
q是最后的斗争团结h到明?
qU雄耐尔׃定要实现 
是谁创造了人类世界是我们劳动群?
一切归力_者所有哪能容得寄生虫 
最可恨那些毒蛇猛兽吃尽了我们的血?
一旦把他们消灭q净鲜红的太阳照遍全?
q是最后的斗争团结h到明?
qU雄耐尔׃定要实现 
q是最后的斗争团结h到明?/pre>
		
qU雄耐尔׃定要实现 
qU雄耐尔׃定要实现 


Rain's Blog 2006-07-17 16:07 发表评论
]]>
Mavenh——教你开始用Maven??http://www.tkk7.com/zhenyu/archive/2006/05/03/44405.htmlRain's BlogRain's BlogTue, 02 May 2006 16:43:00 GMThttp://www.tkk7.com/zhenyu/archive/2006/05/03/44405.htmlhttp://www.tkk7.com/zhenyu/comments/44405.htmlhttp://www.tkk7.com/zhenyu/archive/2006/05/03/44405.html#Feedback0http://www.tkk7.com/zhenyu/comments/commentRss/44405.htmlhttp://www.tkk7.com/zhenyu/services/trackbacks/44405.htmlhttp://www.matrix.org.cn/resource/article/43/43661_Maven.html
版权声明Q可以Q意{载,转蝲时请务必以超链接形式标明文章原始出处和作者信息及本声?br />英文原文地址:
http://www.onjava.com/pub/a/onjava/excerpt/mavenadn_ch01/index.html
中文地址:
http://www.matrix.org.cn/resource/article/43/43661_Maven.html
关键词: Maven Ant Java




~者注Q?/span>

? 果你已经有十ơ输入同LAnt targets来编译你的代码、jar或者war、生成javadocsQ你一定会自问Q是否有有一个重复性更却能同样完成该工作的方法。Maven? 提供了这样一U选择Q将你的注意力从作业层{Ud目理层。Maven目已经能够知道如何构徏和捆l代码,q行试Q生成文档ƈ宿主目|页?br />
O'Reilly's 的新书Maven:A Developer's Notebook帮你提升你的目、其尽快的q行hQ同时也提供了对Maven插g及其团队协作{高U特性的深度考察。在“Maven Jump-Start?(656K PDF)的示范章节中Q作者Vincent Massol和Timothy M.O'Brien向你展示了如何安装MavenQ如何开始你初次的构建,研究如何使其与IDEs集成极其资源等Ҏ?br />
Vincent Massol是Jakarta Catus frameworkQ框Ӟ的创。其后他p4q的旉在几个大目Q主要是J2EEQ的架构技术上。他现在是Pivolis的创办h和CTO,q是 一家专注于应用敏捷Ҏq行软g开发的公司。他现在居住在法国的首都City of LightQ巴黎)?br />
Timothy M. O'Brien作ؓ一个专业的歌手/E序员现正在芝加哥地区工作和生活?br />
image


让我们开始用Maven。在本章l束Ӟ你应该能够从头徏立一个Maven的项目,使用Mavenq行相关理Q创建基于某些感兴趣报告的简单的web站点?br />
安装Maven
开 始本书以前,你有一些必备的安装工作。本书中的例子用Java1.4.2~写QMaven能够兼容Java1.4.2和Java1.5.0。本书中所? Maven的最新版本是在编写本书时发布的—Maven 1.0.2。除JDK和Maven1.0.2之外Q你q需要连接到InternetQMaven通过公网站点下蝲相关光要的。那么,前进Q安? Maven吧?br />
我该如何做?
从Apache Software Foundation(ASF)下蝲Maven。进入http://maven.apache.org/从左侧的D菜单中的Getting Maven菜单选择下蝲。它带你进入一个让你选择Windows 安装包、zip文g、tar'd.bzip文g或者tar'd.gzip文g。下载适合你^台的分类?br />
我该如何做?
从Apache Software Foundation(ASF)下蝲Maven。进入http://maven.apache.org/从左侧的D菜单中的Getting Maven菜单选择下蝲。它带你进入一个让你选择Windows 安装包、zip文g、tar'd.bzip文g或者tar'd.gzip文g。下载适合你^台的分类?br />
提示

某些Developer's Notebook中涉及的插g未与Maven1.0.2
l定。请参考第6章ƈ且附录A有安装Maven所需插g的全?br />列表以及详细说明?/center>


在Microsoft Windowsq_Q下载Windows安装包(maven-1.0.2.exeQ,跟随自动安装q程中的提示。在使用Maven Windows 安装器进行安装后Q你应该定义一个用L境变量,MAVEN_HOMEQ指向你本地的Maven安装。你此时需要进入控刉版→pȝ→高U选择环境变量? 钮,d%MAVEN_HOME%\binC的PATH环境变量。进入命令提Cq行cmd.exeQ如果Maven安装成功Q你能够看到命令行有下 面的输出Q?br />C:\dev\mavenbook\code>maven -v
__  __
|  \/  |__ _Apache__ ___
| |\/| / _` \ V / -_) ' \  ~ intelligent projects ~
|_|  |_\__,_|\_/\___|_||_|  v. 1.0.2

? 果你愿意安装MavenC个除了C:\Program Files\Apache Software Foundation\Maven 1.0.2的目录,你也可以下蝲Maven1.0.2.zip文gQ解压羃CQ何目录。设|MAVEN_HOME? 向到Maven解压~的目录Qƈ且添?MAVEN_HOME%\BinC的PATH环境变量?br />
在Unixq_Q下? tar'd.zip文gQMaven-1.0.2.tar.gzQƈ接压~tar xvzf maven-1.0.2.tar.gzC选择的目录。本试验假设你解压Maven?usr/local/maven-1.0.2目录下。你此时需要设 |两个环境变量,MAVEN_HOME和PATH。下面的命o两个变量讄适当的|
[tobrien@mavenbook tobrien]$ export MAVEN_HOME=/usr/local/maven-1.0.2
[tobrien@mavenbook tobrien]$ export PATH=${PATH}:${MAVEN_HOME}/bin
如果Maven被成功安装到你的机器Q你能够看到与Windowspȝ同样的输出。恭喜!你已l成安装了Maven?br />
提示

有些人喜Ƣ保存本地应用程序在Unix下的/opt目录?br />Windows下的c:\apps。你可以Ҏ个h喜好安装Maven?/center>

刚刚发生了什么?
你刚刚安装了Maven1.0.2q且配置了一些环境变量。是的!一旦你对MAVEN_HOMEq行了有效的讄或是maven.bat或maven.sh已经存在Q你已经能够完成Developer's Notebook本次的实验?br />
关于....
          ..Maven 2?

? 时机提及Maven 2Q有时也被称为“m2”)。Maven 2完成了对Maven 1的重写。重写的首要目的是要提供了强大的Jave构徏和包含API的项目,允许Maven被植入Q何地方,其是高U别的品如IDEs、质量工兗报 告工Lq些。Maven 2构徏生命周期的概忉|式话Q其比Maven更易扩展?br />
Maven 1和Maven 2有许多共同点Q但它们q有几个主要的不同之处。在书中的各个部分我们尽可能提示你所希望了解的那些不同之处。更多关于Maven 2的信息,误{到http://maven.apache.org/下蝲Maven 2的体验版本,q加入Maven用户或开发者邮件列表。如果你听过Continuous IntegrationQ你可能也想看一看命名ؓContinuum的Maven子项目,地址在http: //maven.apache.org/continuum?br />
开始一个新的项?/span>
创徏新项目的争论一部分在于有很大部分的工作努力被用到在“发展基设施”上—自动构建、单元测试、文档、项目报告等。用Maven你可以加速这个过E,生成目的框架其作为新应用的种子?br />

我该如何做?
Maven 拥有一个应用程序生成插ӞGenappQ你能通过其创Z个新目。首先创Z个空的目录c:\dev\mavenbook\code\genapp\ test-applicationq将成ؓ应用E序生成后的处所。通过执行genappq个目标来运行Genapp插gQ选择默认的模版ƈ且提供一些你? 新项目的相关信息?br />C:\dev\mavenbook\code\genapp\test-application>maven genapp
__ __
| \/ |__ _Apache__ ___
| |\/| / _` \ V / -_) ' \ ~ intelligent projects ~
|_| |_\__,_|\_/\___|_||_| v. 1.0.2
Attempting to download commons-jelly-tags-interaction-20030211.143817.jar.
4K downloaded
Enter a project template to use: [default]
[Enter]
Please specify an id for your application: [app]
test-application
Please specify a name for your application: [Example Application]
Test Application
Please specify the package for your application: [example.app]
mdn.testapp
build:start:
genapp:
[copy] Copying 1 file to C:\dev\mavenbook\code\genapp\test-application\
src\java\mdn\testapp
[copy] Copying 3 files to C:\dev\mavenbook\code\genapp\test-application\
src\test\mdn\testapp
[copy] Copying 1 file to C:\dev\mavenbook\code\genapp\test-application\
[copy] Copying 2 files to C:\dev\mavenbook\code\genapp\test-application\
BUILD SUCCESSFUL


? 插g会要求用户一些输入,从这个输出内容你可以看到你用了默认的(defalutQ应用程序模板,q且你提供了新项目的应用E序ID、nameQ和? 名。默认的QdefaultQ应用程序模板创Z一个单独的c,mdn.testapp.appQ和一个静态main函数和两个JUnit试?br />
Maven的应用程序生成插件生成了下面的目录和文gQ?br />
test-application/
project.properties
project.xml
src/
conf/
app.properties
java/mdn/testapp/
App.java
test/mdn/testapp/
AbstractTestCase.java
AppTest.java
NaughtyTest.java

所 有Maven目有一个参考了目对象模型QPOMQ的标准目录l构, Qas described shortlyQ。如果你有一些现存的cMx加到一个项目,d它们到src/javaQ如果你有一些单元测试将它们d到src/test。如果这? 已有的类和单元测试依赖一些外部的苦,你将在随后的章节看到如何d一个附属。xdos目录包含了格式ؓXDoc的项目文档?br />
提示

h意Maven1.0.2装蝲的Genapp插g版本创徏了非标准
的布局。在Maven目中src/java和src/test不再出现
在固有的源代码和单元试位置。取而代之的是你?br />以用src/main/java和src/test/java。ؓ了改变这些,
修改你项目的xml文gQ改变src/java的引用ؓsrc/main-
/javaQsrc/test的引用ؓsrc/test/java。更多的信息Q?br />请参见“Maven Conventions?地址?br />http://maven.apache.org/-reference/conventions.html?/center>

project.xml是项目的描述W;它是一个内容ؓPOM的XML文g。让我们看看q个project.xml的拷贝,其已l定义了q个目Q?br />
<project>
<pomVersion>3</pomVersion>
<artifactId>test-application</artifactId>
<name>Test Application</name>
<currentVersion>1.0</currentVersion>
<organization>
<name>Your Organization</name>
<url>http://www.someorganization.biz/</url>
<logo>http://www.someorganization.biz/logo.gif|jpg|...</logo>
</organization>
<inceptionYear>2005</inceptionYear>
<package>mdn.testapp</package>
<logo>http://yourproject/logo.jpg|gif|...</logo>
<description>
An example project
</description>
<shortDescription>
How to use maven in different situations
</shortDescription>
<!-- Many Elements Omitted (see generated POM) -->
<dependencies/>
<build>
<sourceDirectory>src/java</sourceDirectory>
<unitTestSourceDirectory>src/test</unitTestSourceDirectory>
<unitTest>
<includes>
<include>**/*Test.java</include>
</includes>
<excludes>
<exclude>**/NaughtyTest.java</exclude>
</excludes>
</unitTest>
<resources>
<resource>
<directory>src/conf</directory>
<includes>
<include>*.properties</include>
</includes>
</resource>
</resources>
</build>
</project>


该文件告诉Maven有关你项目的全部。build元素定位应用E序原码Q单元测试和资源文g包的位置。name, artifactId, currentVersion, inceptionYear, description?br />shortDescription标识该项目ƈ且提供了该项目的信息被用作完成品的名字来创徏目?br />
提示

如果你工作在已有的Maven目Q你应该看到id元素?br />artifactId的位|。该id元素已经不被赞成使用Q?br />你可以用artifactId替代?/center>

resources 元素被用于JAR插g拯资源到JAR生成物。在该元素你指定一批资源到资源库。本例中Q自src/conf的资源将被复制到classpath的根? 录。换a之,app.properties资源被复制到所生成的JAR生成物的根目录。如果你x有位于src/conf?.properties? 源和*.xml资源在mdn.testapp包中生成的JAR有效Q你可以按照以下来指定targetPathQ?br />
<resource>
<directory>src/conf</directory>
<targetPath>mdn/testapp</targetPath>
<includes>
<include>*.properties</include>
<include>*.xml</include>
</includes>
</resource>

project.properties让你能够定制Maven及其插g在本目中的行ؓ。你在看过本书之后使用该文件定制所生成web站点的品质和JAR文g的内宏V?br />
提示
关于在没有Genapp插g来生成新Maven目的快速入
门指|参见BrettPorter的“The Ten Minute Test”,
地址在http://maven.apache.org/start/ten-minute-
test.html?/center>

关于...
... Maven在有兛_作项目中跟踪信息的能力?

为简化本例,我们从project.xml文g中去掉了一些初期显C的?br />q项目邮件列表、知识库、开发者和web站点的元素。第4?章深
入更多有关用Maven发布web站点和在现有源码库中工作的细节?br />

在代理服务器下用Maven
Maven依赖于Internetq接Q其通过HTTP下蝲相关的插件。如果你工作在公q境,你可能需要配|Maven来与工作代理服务器系l?br />

我该如何做?
? 可能需要设|你目中project.properties文g的一些属性。project.properties文g允许你通过讄命名的属性来定制 Maven的行为。配|代理服务器Q放|下面的project.propertiesC你项目中project.xml文g同样的位|:
maven.proxy.host = proxy.company.com
maven.proxy.port = 80

q且Q如果你需要连接到一个代理服务器必须有NTLM的授
权,讄以下属性:
maven.proxy.ntlm.username = tobrien
maven.proxy.ntlm.password = myp@ssw0rd


提示

在第二章Q你学到user-specific属性将被定义在
~/build.properties?USERPROFILE%\build.properties 文g。现在,如果你需要完成本试验Q在 project.properties里定义这些属性?/center>

~译和测试一个项?/span>
你拥有了一个包含一个类文g和单元测试文件的目。下
面,让我们够见这个项目和q行应用E序cd?br />
我该如果做?
通过执行jar:jar goal来创Z个包含应用程序的cȝjar
? 件。JAR插g定义了一个速记目标命名为jar其依赖之前的jar:jar goal。执行Q何一个目标将得到相同的结果。所有的插g都定义了一条这L捷径Q例如,试目标执行的是Test插g里的test:test goal。执行jar goal和maven jarQ?br />
C:\dev\mavenbook\code\genapp\test-application>maven jar
__ __
| \/ |__ _Apache__ ___
| |\/| / _` \ V / -_) ' \ ~ intelligent projects ~
|_| |_\__,_|\_/\___|_||_| v. 1.0.2
Attempting to download junit-3.8.1.jar.
118K downloaded
build:start:
java:prepare-filesystem:
[mkdir] Created dir: C:\dev\mavenbook\code\genapp\test-application\
target\classes
java:compile:
[echo] Compiling to C:\dev\mavenbook\code\genapp\test-application/
target/classes
[echo]
[javac] Compiling 1 source file to C:\dev\mavenbook\code\genapp\testapplication\
target\classes
java:jar-resources:
Copying 1 file to C:\dev\mavenbook\code\genapp\test-application\target\
classes
test:prepare-filesystem:
Compiling and Testing a Project 9
[mkdir] Created dir: C:\dev\mavenbook\code\genapp\test-application\
target\test-classes
[mkdir] Created dir: C:\dev\mavenbook\code\genapp\test-application\
target\test-reports
test:test-resources:
test:compile:
[javac] Compiling 3 source files to C:\dev\mavenbook\code\genapp\testapplication\
target\test-classes
test:test:
[junit] Running mdn.testapp.AppTest
[junit] Tests run: 1, Failures: 0, Errors: 0, Time elapsed: 0.078 sec
jar:jar:
[jar] Building jar: C:\dev\mavenbook\code\genapp\test-application\
target\test-application-1.0.jar
BUILD SUCCESSFUL
Total time: 9 seconds


Maven创徏一个targetQ目标)目录来保存中间文件和JAR文g。在JAR首次被徏立后Q按照下面执行AppcR?br />
C:\dev\mavenbook\code\genapp\test-application> java ^
More? target\test-application-1.0.jar mdn.testapp.App
Hello World!

如果你想重复此项工作Q运行maven clean来移除target目录重新构徏?br />
刚刚发生了什么?
? 你运行jar目标ӞMaven使用JAR插g来创Z一个JAR生成物。首先,Maven扑ֈ一pd的目标以便能够创个应用程序的JAR文gQ? JAR插g有一个其它目标所依赖于目标的jar:jar goalQ反q来Q它也依赖于其他的目标。Maven扑և下列需要的目标来执行:java:prepare-filesystemQjava: compileQjava:jarresourcesQ?br />test:prepare-filesystemQtest:test-resourcesQtest:compileQand test:test?br />
Maven查看光要执行目标中的Test插g来执行单元测试,q且查本地Maven库中的JUnit JAR文g。因Zq没有用过MavenQ所以它从位于http://www.ibiblio.org/
maven/的Maven默认库中下蝲junit-3.8.1.jar。你在本章后学习到有关Maven本地库和Maven强大的相关管理能力的内容?br />

与项目对象模型一同工?/span>
Project Object ModelQPOMQ是Maven的重要部分,你将与其一同工作诏I本书?br />

我该如何做?
POM 同样涉及到项目的描述。project.xml描述了项目的源代码、开发者、源控制Q许可和标示信息譬如目名称和发Ll。Maven打破了过Ml的 构徏pȝQ取而代之的是ؓ每个构徏提供了外在说明,Maven使用声名的方法管理构建。换句话_你不用过多的告诉Maven做什么,Maven知道L 扑֟于project.xml中的内容。另一斚wQAnt以命令方式进行项目构建;你最l要告诉Ant~译q个文gQ徏立这个目录,l定q些文g到WAR {等。Mavenl护一个插件的分类来与标准的POM—一个结构声明、标C和内容工作?br />
如果你看了上ơ练习所生成的project.xml文gQ你注意到许多元素都在上次讨论中被忽略。下面的XML列出了POM中顶U的元素Q(in the order in which they are expected:
Q:
<project>
<extend/>
<pomVersion/>
<id/>
<name/>
<groupId/>
<currentVersion/>
<organization/>
<inceptionYear/>
<package/>
<logo/>
<gumpRepositoryId/>
<description/>
<shortDescription/>
<url/>
<issueTrackingUrl/>
<siteAddress/>
<siteDirectory/>
<distributionSite/>
<distributionDirectory/>
<repository/>
<versions/>
<branches/>
<mailingLists/>
<developers/>
<contributors/>
<licenses/>
<dependencies/>
<build/>
<reports/>
<properties/>
</project>

? 章探I更多以上XML列出的元素,包括contributorsQdevelopersQdependenciesQreports? repository。本章的式样提供这些细节,但你应该使用上面XML的摘录来以适当的顺序放|这些元素到你的project.xml中?br />
列出有效的Goals
当你使用MavenӞ你将执行目标。Maven插g是一l相关的插g。例如,要ؓ一个项目创建JAR文gQ你如下所C执行JAR插g中的jar:jar goal?br />C:\dev\mavenbook\code\genapp> maven jar:jar
冒号之前的jar分类q个目标属于JAR插g。查看全部的JAR插g列表Q键入以下命令:
C:\dev\mavenbook\code\genapp> maven -P jar
__ __
| \/ |__ _Apache__ ___
| |\/| / _` \ V / -_) ' \ ~ intelligent projects ~
|_| |_\__,_|\_/\___|_||_| v. 1.0.2
Goals in jar
============
[jar] Create the deliverable jar file.
deploy ......................... Deploy a jar to the remote repository
deploy-snapshot ................ Deploy a snapshot jar to the remote
repository
install ........................ Install the jar in the local repository
install-snapshot ............... Install a snapshot jar in the local
repository
jar ............................ Create the deliverable jar file.
snapshot ....................... Create a snapshot jar, ie '
id-YYYYMMDD.hhmmss.jar'
Plugin for creating JAR files. Requires Maven 1.0 RC2.

如果你需要查看每个有效的插g和目标,输入下面内容Q?br />C:\dev\mavenbook\code\genapp\test-application> maven -g | more
全部的插件可能人有些畏惧,Maven有关于一切的插gQ从生成目文g到IDEs到生成WAR文g以及开始和停止应用服务器。你在下面的实验中学习C些更有用的插件?br />
生成调试信息
? 在,你可能已l注意到Maven执行了许多繁重的工作。如果你使用AntQ你可能已经开始编写Ant的build.xml文gq且d~译.jard? 单元试。Maven隐藏了许多复杂性,但当调试问题Ӟ它也能够查看“幕后”。这个能力运行于Maven的调试模式ƈ且这个工h印输出每个构建的l节 重要的是你可以根据需要来验证构徏是否正确执行?br />

我该如何做?
本次实验Q参考上一个测试应用程序。当你运行maven testQ你收到如下信息:
java:compile:
[echo] Compiling to
C:\dev\mavenbook\code\genapp\test-application/
target/classes
[echo]
java:jar-resources:
[...]


在执行java:comile或java:jar-resources目标时到底发生了什么?执行构徏目中运行maven -x test显C全部目标的调试信息。让我们来是一下,把注意力攑֜最早的W三个目标上。运行maven -x test生成下面的输出:

[...]
java:compile:
[echo] Compiling to C:\dev\mavenbook\code\genapp\test-application/
target/classes
[javac] [DEBUG] fileset: Setup scanner in dir
C:\dev\mavenbook\code\genapp\test-application\src\java with
patternSet{ includes: [ ] excludes: [**/package.html] }
[javac] [VERBOSE] mdn\testapp\App.java omitted as mdn/testapp/App.class
is up to date.
java:jar-resources:
[DEBUG] FileSet: Setup scanner in dir
C:\dev\mavenbook\code\genapp\test-application\src\conf with
patternSet{ includes: [*.properties] excludes: [ ] }
[VERBOSE] app.properties omitted as app.properties is up to date.
[...]


java:compile的打印输ZQ务可能看h很熟悉。它是Ant的echo和javacd的输出。Maven常常使用Ant的进E来执行常用操作如:拯、删除、编译和创徏JAR文g?br />
刚刚发生了什么?
q两个目标执行的都是非常单的调试输出。java:compile目标单的扫描源目录中java源码中较新的相关cL件。java:jar-resources目标L资源中包含的JAR文g。更复杂的如test:test生有兌拟机和类加蝲器的调试信息?br />
当Maven有问题或某个目标抛出异常QMaven简单打印较的错误信息来告诉你有错误发生。如果你需要等多信息,q且看到堆栈跟踪Q添?e标志到命令行。与-e标志一PMaven打印完整的堆栈信息当其遇到错误时?br />
d依赖关系
? 有了一个拥有单个类文gq且已经成功~译执行的项目。下面,你将d一个依赖关pd目描述器ƈ且开始用Maven理目依赖关系。本ơ实验的目的 是,假设你需要工作在Spring框架中。添加Spring框架-spring-core-1.1.4.jar和spring-web- 1.1.4.jar的依赖关pR?br />

我该如何做?
首先Q你需要根据需要定位Maven默认中心源码库中? JAR文g。ibiblio.org在http://www.ibiblio.org/maven/提供了这些。在Web览器中加蝲q个URL你将看到 一pd的目录;我们兛_的是springframework的目录,springframework下子目录的结构如下所C:
http://www.ibiblio.org/maven
/springframework
/jars
spring-core-1.1.4.jar
spring-dao-1.1.4.jar
spring-web-1.1.4.jar

依照人造物Q你使用dependency—groupId, artifactId和version三个元素。你能够d两个依赖关系的完成品以替代test-application/project.xml中的dependencies元素如下所C:
<dependencies>
<dependency>
<groupId>springframework</groupId>
<artifactId>spring-core</artifactId>
<version>1.1.4</version>
</dependency>
<dependency>
<groupId>springframework</groupId>
<artifactId>spring-web</artifactId>
<version>1.1.4</version>
</dependency>
</dependencies>


现在Q运行jar目标q且看看Maven的输出吧Q它包含下面如下这些?br />
Attempting to download spring-core-1.1.4.jar.
266K downloaded
Attempting to download spring-web-1.1.4.jar.
111K downloaded


?-1昄了jar目标触发的一pd事gQ?br />1.Maven查看POM,依据project.xml的定义,看到在springframeworkl中的两个h造物的依赖关pR它蝲你本地Maven的资源库中检查spring-core-1.1.4.jar和spring-web-1.1.4.jar?br />2. 当Maven找不到这些文Ӟ它将到http://www.ibiblio.org/maven/springframework/jars/LJAR 文g。这些JAR文g会被下蝲q放|于你本地Maven的资源库中。它们也被添加到你项目的classpath中。下ơ在你的目查询q些文gӞ Maven在你本地的资源库中提供它们?br />
image
?-1.Maven本地和远E资源库为test application目提供的spring Jar?br />
刚刚发生了什么?
Maven Z节省了相当的旉和不必要的麻烦。Maven到来之前Q依赖关pd常被捆绑C个项目的目录或者项目应该指向到d正确的JARC? classpath。用Maven理依赖关系昄有着明显的优势;作ؓ初学者,如果你的目依赖30个外部的JAR文gQ这׃需要在你的资源库中? 储成兆的JAR文g。这意味着当你在项目的外部查资源控制的时候更的存储I间和更快的下蝲旉。另外,如果你有多个目依赖相同的外部依赖, Maven仅需要下载一ơ依赖关p,q且每个目引用一个单独的副本在你本地的资源库中。当依赖关系能够从Maven资源库远E下载的时候,没有强制的原 因让你存储你目的依赖关pȝ版本?br />
当Maven下蝲依赖关系Q其在你本地的机器上从远E的Maven资源库拷贝一个文件到你本地的Maven资源库。Maven如何定位依赖关系的?它用project.xml中dependency元素的信息,如图1-2所C?br />
image
?-2.POM和Maven资源库的映射?br />
? 定的groupId告诉Maven查看特定的目?springframework。指定type告诉Maven查找特定的子目录如jar和warQ注? s是Maven附加到type元素上的Q;本例中,type是被忽略的,JARcd是默认类型。当你指定了artifactIdQ你正告诉Maven哪个 文g从jar目录下蝲。顶U目录表Cؓl标C符QJAR文g名的W一部分表现为artifact标示W,文g名最后的部分Q包括扩展名表现? version标示W。Maven使用下面的公式来军_一个来自于资源库中的依赖关pR[REPO_ROOT]参考你q程的资源库Q?br />
[REPO_ROOT]/<groupId>/<type>s/<artifactId>-<currentVersion>.<type>


提示

Maven2.0的说明中Q资源库可能开始于cMJava包的
l构。作为springframework的替代,groupId被提?br />的结构ؓorg.springframework。另外,每个版本有
一个分隔目录用以增加Maven资源库的效率。更多有?br />改变的提交徏议,参见http://docs.codehaus.org/display/
MAVEN/Repository+Layout+-+Final?/center>

一 个本地的资源库来处理依赖关系。在Unix机器上,你的Maven资源库能在~/.maven/repository目录扑ֈQ在Windows机器上, 你的Maven的资源库在你?USERPROFILE%目录。如果你看一看本地Maven的资源库Q你会注意到它正包含一? springframework的目录?USERPROFILE%\.maven\repository\springframework\jars? 录包含spring-core依赖关系的两个:spring-core-1.1.4.jar文g和spring-core-1.1.4.jar.md5? ?其包含MD5文g用于验证sprint-core JAR文g的完整性。Maven 1当前q没有用MD5来验证完成品的完整性,但在来的版本可能会用其来验证完成品的完整性?br />
提示

在Windows机器上,%USERPROFILE%通常军_于C:\D-
ocuments and Settings\vmassolq种目录?USERPR-
OFILE%被用在Unix的主目录。(%USERPROFILE% is
used in the spirit of the abbreviation for a Unix home directory。)


关于...
...使用id元素?


如果你工作在现存的Maven目Q你可能有依赖关pM用id元素。下面的dependencies元素C了用单独id元素来附加Jakarta Commons Math?.0版本Q?br />
<dependencies>
<dependency>
<id>commons-math</id>
<version>1.0</version>
</dependency>
</dependencies>

单独使用id元素工作仅在groupId和artifactId匚wӞ如果你浏览Maven资源库,你将看到下面的目录结构:
/commons-math
/jars
commons-math-1.0.jar
commons-math-1.1.jar

使用id元素工作Q单独的id标记已经不被赞成使用q在Maven 2中消失。当你看到别的Maven目中用dependencies的速记W号Ӟ请尝试用groupId和artifactId来标识你的依赖关pR?br />
依赖快照
如果你开发的E序依赖的依赖关pȝ常改变,你可能想依赖的每个依赖关系替代为最q构件的编码的版本。在一个项目依赖的依赖关系q处在beta的版本,或你正开发一pd目依赖的Maven目时时特别有用Q这在W?章论q。本实验Q你学习到如何依靠快照?br />

我该如何做?
? 你的依赖关系块儿中指定一个明的版本Q用SNAPSHOT关键字作为版本名U的一部分。每ơ你执行Maven目标ӞMaven从q程资源库中? 较新的依赖关pR如果远E资源库的版本较新Maven下载其到本地资源库。例如:下面的依赖关pd一直下载spring的新版JAR文g?br />
<dependency>
<groupId>springframework</groupId>
<artifactId>spring</artifactId>
<version>1.2-SNAPSHOT</version>
</dependency>


刚刚发生了什么?
? 你用SNAPSHOT依赖关系Q你正告诉Maven使用q程资源库的最新版本。在你用多目插g或者当你依赖的一个完成品处于开发阶D这得心应 手。在你工作的团队仅有较少的开发者组成时Q最好也常这么做。你用SNAPSHOT依赖关系当你的项目依赖一个最q的开发或者非正式版本的特别组件? SNAPSHOT依赖关系应该在开发阶D被保留Qƈ且,概括_你不用改发布一个依赖于SNAPSHOT依赖关系的项目?br />
执行脱机构徏
如果你需要在一个离U的情况下用MavenQ你可能需要知道如何确使Maven不检查最新的SNAPSHOT依赖关系。本实验向你展C如何用Maven执行脱机构徏?br />

我该如何做?
q? 个方法很单:仅仅使用-o命o行选项。例如,如果你没有网l连接,但又x行测试目标,q行Maven -o test。Maven执行这个test目标而不查依赖关pR如果你的项目没有依赖SNAPSHOT构徏Q你也可以断看你的环境来d-o标志。如果你 依赖SNAPSHOT构徏Q你需要?o标志QMaven在每次执行目标时尝试检查最新的SNAPSHOT。在q种情况下不使用-o标志本项目将? 会构建成功?br />

关于...
... 执行ȝ构徏如果你不想下载Q何完成品Q?/b>
当然Q这不会工作。离U构建的工作Q你必须已经有必需的依赖关pd你本地的资源库。项目最单的获得Maven下蝲依赖
关系的方法是在每个Maven目实例单的q行“noop”目标,build:start。这个目标执行之前Q何其它的目标q不执行M动作。如果你q行build:startQMaven从project.xml获得获取M依赖关系?br />

使用Maven控制?/span>
? 果你再三的从命o行运行MavenQ你可以通过Maven控制台来节省旉。Maven控制台提供一个“外壳”,在这你可以键入目标的名称来执? Maven。通过使用Maven可以避免每次载你惌行一个Maven目标时Java Virtual MachineQJVMQ启动的{待?br />

我该如何做?
Maven Console是一个插Ӟ你可以通过键入maven console在命令提C符。这生下面的输出Q?br />
__ __
| \/ |__ _Apache__ ___
| |\/| / _` \ V / -_) ' \ ~ intelligent projects ~
|_| |_\__,_|\_/\___|_||_| v. 1.0.2
The following commands are available:
list - list all available goals
help - this message
<goalname> - attain a goal
quit - quits the console
test-application 1.0 >


? 前,你可以在命o行执行Q何你能执行的目标。开始是一下;键入 java:compile。Maven执? java:compile目标q返回提C符其它的目标。在一个序列中q行两个目标Q你可以在提C符处输入它们,通过“空格?例如Q?clean test。众所周知作ؓ“goal chaining”这是你想通过Maven获得指定一pd目标的方法。退出Maven ConsoleQ键入quitQ查看有效目标列表,键入list?br />
刚刚发生了什么?
在Maven Console下Maven执行java:compile目标非常之快Q不信么Q当你用Maven Console时你所执行的目标是在一个现成的JVM下。当你从命o行运行MavenӞ你每ơ运行一个目标都不得不等待JVM的启动。如果你不确信其? 性能的提升,自己试试看。在命o行下q行java:complie 10ơ,再在Maven Console下同栯行java:compile 10ơ。注意时间的差别Q你发现JVM启动的时间开始增加。如果你扑ֈ你自己常用的Maven目标QMaven Console通过启动JVM一ơؓ来节省时间?br />

生成Eclipse目
我打赌你一定想在IDE下工作。Maven通过插g来与Eclipse,InelliJ,IDEA,JBuilder,JDeveloper以及Emacs集成。Maven很好的与全部q些工作集成Q本实验x其在Eclipse上的集成Q一个开源的IDE?br />

我该如何做?
q个q程很简单;仅仅执行eclipse插gQ?br />
C:\dev\mavenbook\code\genapp\test-application> maven eclipse
build:start:
eclipse:generate-project:
[echo] Creating C:\dev\mavenbook\code\genapp\test-application/.project ...
eclipse:generate-classpath:
[echo] Creating C:\dev\mavenbook\code\genapp\test-application/.classpath ...
[echo] Contains JUnit tests
[echo] Setting compile of src/test to target/test-classes
Plugin 'cactus-maven' in project 'Test Application' is not available
[echo] Setting default output directory to target/classes
eclipse:
[echo] Now refresh your project in Eclipse (right click on the project
and select "Refresh")
BUILD SUCCESSFUL
Total time: 2 seconds


Maven创徏两个文g以识别Eclipse的项目:.project?classpath。在Eclipse中,你就可以通过下面的步骤导入这个工E了Q?br />1.启动Eclipse?br />2.从菜单栏选择File↺mport...&#61472;
3.选择现存目攑օWorkspaceq单击Next按钮?br />4.在Import对话框选择C:\dev\mavenbook\code\genapp\test-application目录Qƈ单击Finish按钮?br />
你稍候将执行更多步来指向Eclipse到本地Maven资源库。Eclipse使用一个名叫MAVEN_REPO来指向到本地Maven资源库。你能通过在命令行执行下面的操作设|MAVEN_REPO来用Maven:
maven -Dmaven.eclipse.workspace=c:\eclipse\workspace eclipse:add-maven-repo
执行q个目标可以讄位于目录c:\eclipse\workspace的全局变量MAVEN_REPO?br />作ؓ选择Q你可以按照q些步骤手工配置该变量:
1.从菜单栏中选择Window→打开Eclipse Preferences选择preferences?br />2.在树型菜单左手边的Preferences对话框,选择Java→Build Path→Classpath变量?br />3.单击New按钮来创Z个新的变量;q可以带入到新变量对话框?br />4.输入MAVEN_REPR到Name域?br />5.单击Folder按钮选择你本地的Maven资源库?br />6.单击OKq新构Z的项目?br />
你可能需要配|MAVEN_REPO仅一ơ;该变量是全局的它可以与全部Eclipse目׃n?br />
关于...
... JBuilder, JDeveloper, and IntelliJ IDEAQ?/b>
所有这些IDE有着Eclipse一L单的插g。ؓJBuilder 目生成必需的文Ӟq行mave jbuilderQ对于JDeveloperq行mave jdeveloperQؓIntelliJ IDEA目q行mave idea?br />

使用Maven的Eclipse插g
是的Q这是一个你可以使用的高品质的Maven插g。它提供了许多有的Ҏ,如编辑project.xml文g的能力,支持Maven自定义,Maven资源库浏览等其他功能?br />

我该如何做?
Mevenide (http://mevenide.codehaus.org/mevenide-ui-eclipse/update/index.html) 是一个Eclipse插g其允怽使用Maven在Eclipse中工作。你能够按照如下指导从Eclipse更新站点上下载它Q?br />1.启动Eclipse?br />2.从菜单中选择Help→Software Updates→Find and Install?br />3.在Install/Update和更新的对话框中Q选择“Search for new feature to install,”ƈ单击下一步?br />4.在Install对话框中Q单击New Remote Site?br />5. 在New Update Site对话框中Q键入Mevenide在Name域,其位|在Eclipse Updates站点的URL区域。Mavenid在Eclipse Update站点中的位置是http: //mevenide.codehaus.org/release/eclipse/update/site.xml?br />6.当单词Mevenide出现在Install对话框中Q选择两个子目标,Maven和Mevenideq单击Next?br />7.直到Maven和Mevenide被下载和安装Q重起Eclipse?br />
? 先你会注意到Mevenide标注所有project.xml文g为绿色图标。在Project Object Model~辑器中打开project.xmlQ右MQ何project.xml文gq择Open With...→Project Object Model~辑器。该~辑器如下图1-3所昄?br />
image

Mevenide 在Eclipse中提供了一pdtab让你~辑不同的project.xml片断。如果你学到了很多的project.xml语法Q就知道 Mevenide的Project Object Model~辑器提供了GUI接口来维护这个XML文g。如果你仍然希望直接~辑q个XMLQ你能够选择最双的Source tab?br />除POM ~辑器之外,Mevenide也ؓ你提供了Eclipse以外执行Maven目标的方法。要在Eclipse中执行一个Maven目标Q选择 Run→External Tools…→External Tools…你p够创Z个Maven的配|ƈ从全部有效的目标中选择你希望执行的目标。当目标在Eclipse中被执行Q通过Console视图有效 得显C它的输出?br />
Mevenide提供的另一个有的功能是Repository Browser。这个工具允怽查许多远E资源库的内宏V打开Repository BrowserQ选择Window→Show View…→Other…,此时在Maven目录的结果对话框中选择Repository Browser。Repository Browser单的以树型显CZ资源库中的全部依赖关p(dependencyQ,如图1-4所C,其显CZHTTPClient和abbot group的依赖关pR?br />
image
?-4.Mevenide Repository Browser view

如果你想搜烦资源库中完成品的l节QMevenide同样提供了资源库搜烦功能。这是得心应手的因Zؓ了某个依赖关pȝl节搜烦http://www.ibiblio.org/maven是非常恼人的。检查MevenideQ它ؓ你节省时间?br />
关于...
... NetBeans和JBuilderQ?/b>
Mevenide当前的版本支持这两个IDE的表现。更多详情参见http://mevenide.codehaus.org/?br />... IntelliJQ?br />IDEA插gl持了一些目标如同你在Eclipse中用的目标。更多详情参见位于http://maven.apache.org/reference/plugins/idea/goals.html的IDEA插g的联机文档?br />

生成Ant构徏文g
? 你想用Apache的Ant构徏的某些时候。可能你的项目用自动化处理正依赖于AntQ又可能你有一些团队成员没有完成到Maven的{换ƈ且他们希? l箋使用Ant。目前ؓ止许多IDE提供通过Ant构徏目文gQ你能够使用Maven生成build.xml文gq样你的目p够被Apache? Ant所构徏?br />

我该如何做?
q行Ant插g。运行maven ant创建build.xml文g其包含到聚合的依赖关pȝ目标Qbuild和test你的应用E序。看看运行默认的jar目标的输出:
C:\dev\mavenbook\code\genapp\test-application>ant
Buildfile: build.xml
init:
[mkdir] Created dir: C:\dev\mavenbook\code\genapp\target\lib
get-deps:
[get] Getting: http://www.ibiblio.org/maven/springframework/jars/
spring-core-1.1.4.jar
[get] Getting: http://www.ibiblio.org/maven/springframework/jars/
spring-web-1.1.4.jar
compile:
[copy] Copying 1 file to C:\dev\mavenbook\code\genapp\target\classes
junit-present:
[echo] = = = = = = ============ WARNING = = = == = = = = = = = = = = = = = = = = = = =
[echo] Junit isn't present in your ${ANT_HOME}/lib directory. Tests not
executed.
[echo] = = ==============================================
compile-tests:
internal-test:
test:
jar:
[jar] Building jar: C:\dev\mavenbook\code\genapp\test-application\
target\test-application-1.0.jar
BUILD SUCCESSFUL
Total time: 2 seconds


? 可能注意到这里存在一个问题,q是个说明性的问题。Apache Ant没有自动理依赖关系用于可选的Antd。如果你向运行JUnit单元试Q你需要从本地Maven资源库拷贝junit-3.8.1.jar ?{ANT_HOME}/lib下。这个构建文件包含了一个get-deps的目标其从位于http://www.ibiblio.org/maven 的远EMaven资源库ؓ所有的目依赖关系执行Ant获得d到gran?br />
关于...
... 试图dAnt?Maven是Ant的替代者么Q?/b>
? 或不是。Antq不“差”,q且多数工具仍然同Ant工作。没有理׃提供与Apache Ant的交互,一旦你学到更多关于W?章的JellyQ你发现Ant工作在Maven里应用的更广泛。许多项目用持l集成的pȝ如其期望的Ant构徏 文g。运行maven ant provides很容易找到l支持这些工兗?br />

UL一个Ant目到Maven
一定数量的目使用Ant作ؓ构徏pȝQ你可能打算UL到Maven上来?br />

我该如何做?
? 头开始。创Z个默认的Maven模版Qƈ且移动你的代码到适当的位|。不要设法Maven适合你项目的目录和构Z|。Maven一个构建工P 它是一个标准方式考虑到项目的布局和管理。如果你试图使Maven适应你项目的x来构建,你将l束使用Maven。如果你的项目由一个复杂的 buil.xml文gl成其生许多不同的交付l果Q你需要“组件化”你的项目请跟随W?章的多项目描q。你可能要开始移动你目的目录结构{向标准的 Maven目目录l构。换而言之,不要试图生搬套你的目到Maven?br />如果你对q移到Ant感兴,但你没有旉停止开发,你可以? Maven调用你现存的Ant目标。如果你q么做,你将错失使用Maven的大部分益处Q但仅仅是可能。更多信息参见位于http: //maven.apache.org/using/migrating.html的“Migrating from Ant”?br />
关于...
... 灉|性和选择Q?/b>
? zL和选择是个比较老的问题了。我们保证Maven改变你构徏和维护项目的方式ҎQ重要的是应该有意的使用Maven。Ant和Maven间的差别? 什么呢QAnt提供块构建的可重用Q务如copy,move,delete和junitQMaven提供了可重用的Q务构建。Maven是一个“构建容 器”,其允怽在一pd目上重用Q务构建。以单元试ZQ用AntQ你通过在你目的build.xml文g里包含下面来执行JUnit试?br />
<junit printsummary="yes" haltonfailure="yes">
<classpath>
<pathelement location="${build.tests}"/>
<pathelement path="${java.class.path}"/>
</classpath>
<formatter type="plain"/>
<test name="my.test.TestCase" haltonfailure="no" outfile="result">
<formatter type="xml"/>
</test>
<batchtest fork="yes" todir="${reports.tests}">
<fileset dir="${src.tests}">
<include name="**/*Test*.java"/>
<exclude name="**/AllTests.java"/>
</fileset>
</batchtest>
</junit>

? 片断省略的不同\l和变量的定义如build.tests和java.class.pathQ同时也省略的Ant目标的定义。另外一些单元测试类Q你也需 要定义一个标以目标在源文件和单元试中,q且一个目标对应创Z个目录。每个项目需要定义同L逻辑以执行单元测试。最后,大多数的Ant目使用了相 似的目录l构Qƈ且构建逻辑重用是通过拯和粘贴到build.xml文g。时间推U,目变的更复杂和用户化Q目录标准增加ƈ且每个项目趋于不同的~? 译、测试方法和包;久而久之,build.xml变成目中的一部分了。你定制的Ant构徏文g大Q越多的(entropy creeps)会进入到你的构徏工作。Ant作ؓ一个构建工L能力要少于其作ؓ语言提供构特性的API?.6的AntQ含有了Ant库和宏。在完成? 局可重用的表现上与Maven相比Antq有一D很长的路要走?br />
利用Maven的Test插g为所有项目定义通用逻辑光要编译和执行? 元测试。单元测试插件ؓ~译和执行单元测试获得了最好的实践Qƈ且它为所有项目达成了最有效的实c当你运行maven testQMaven从POM传递信息到Test插gQTest插g则依赖于Java插g来执行编译。在Maven中没有一处你明确的告诉构建容器如何执 行JUnit单元试。如果你q么做了Q在Ant中你会面对同样的问题。正如你不用告诉你的Servlet容器如何解压WAR文g一P你不用告? Maven如何构徏你的目。Maven是一个构建容器。许多h最初被Maven吸引是因为它提供了依赖关pȝ理,但Maven最大的好处是它提供了标? 的开发结构来讉K多个目。依赖关pȝ理仅仅是标准开发结构的一个简单的副品?br />
提示

Maven提供了开发结构,l一了项目布局Q在最后你?br />以尝试让Maven照管许多构徏d的细节。与其花费你
重要的时间来写构本,不如使用Maven插g来把?br />Ҏ到编写你应用E序上来?/center>

? 面的章节向你展C如何调整和定制MavenQ但你需要确定你q不要求Maven成ؓ另一个Ant。很有可能你有一个巨大的重徏于Ant? build.xml文g充满了Jelly脚本Q见W?章)q且的Maven目和一个大的maven.xml文g。但如果q么做你则失M所有Maven 的指向。如果你发想自己包含了很多构建相关的逻辑在你的Maven构徏Q你需要慎重考虑使用Maven。高定制化的Maven构徏是矛盄Q你? Maven目应该对现存插件v到杠杆作用。例如,如果你的目需要编译Jave源文Ӟ创徏JAR文gQ用Jave插g和JAR插g。如果你忽略重用 Maven插g使用Maven的Ant集成则是重复刉轮子,你最好不要用Maven。不要滥用MavenQ合理用MavenQ省省你的火气?br />
生成目文档
如果你正开发Java应用E序或者库Q你可能想生成JavaDoc?br />
我该如何做?
单的执行javadoc目标QMaven生成项目的文档。下面是执行javadoc目标的输出:
C:\dev\mavenbook\code\genapp\test-application>maven javadoc
__ __
| \/ |__ _Apache__ ___
| |\/| / _` \ V / -_) ' \ ~ intelligent projects ~
|_| |_\__,_|\_/\___|_||_| v. 1.0.2
build:start:
xdoc:init:
maven-javadoc-plugin:report:
[mkdir] Created dir: C:\dev\mavenbook\code\genapp\test-application\
target\javadoc\src
[javadoc] Generating Javadoc
[javadoc] Javadoc execution
[javadoc] Loading source files for package mdn.testapp...
[javadoc] Constructing Javadoc information...
[javadoc] Standard Doclet version 1.5.0_01
[javadoc] Building tree for all the packages and classes...
[javadoc] Generating C:\dev\mavenbook\code\genapp\test-application\
target\docs\apidocs\constant-values.html...
[javadoc] Copying file C:\Documents and Settings\tobrien\.maven\cache\
maven-javadoc-plugin-1.7\plugin-resources\stylesheet.css to file C:\dev\
mavenbook\code\genapp\test-application\target\docs\apidocs\stylesheet.css...
[javadoc] Building index for all the packages and classes...
[javadoc] Building index for all classes...
[delete] Deleting directory C:\dev\mavenbook\code\genapp\testapplication\
target\javadoc\src
BUILD SUCCESSFUL
Total time: 7 seconds
Once this goal has been executed, JavaDoc is available in testapplication/
target/javadoc/src.


刚刚发生了什么?
? ơ,Maven作了全部J重的工作。你惌JaveDocQ你告诉Maven生成JaveDocQ故事结束。注意你不用告诉MavenM你项目的情况Q? 它“知道”如何做QMavenq很多这L事都是直截了当的Q在你告诉Maven有关你的目后你׃用做什么了。Maven操作l节?br />


介绍Mavenl你的团?/span>
Maven是一个伟大的协作工具Q你能够使用它生成开发者活动报告,目捐赠者和邮g列表?br />

我该如何做?
? 多项目有一个邮件列表其被用于讨论架构和实现。ƈ且,通过透视图,如TomcatQMaven和Ant{项目,q不仅仅是一个开发者社区来׃n捐赠到同? 的邮件列表。邮件列表不仅用于开源项目;许多l织开始用同L协作模型用于开启,发布开发。因为邮件列表是协作的关键部分,Maven提供了在一个项? 的project.xml中指定邮件列表的途径。下面引用project.xmld邮g列表的元素:
<mailingLists>
<mailingList>
<name>Maven User List</name>
<subscribe>users-subscribe@maven.apache.org</subscribe>
<unsubscribe>users-unsubscribe@maven.apache.org</unsubscribe>
<archive>http://marc.theaimsgroup.com/?l=turbine-maven-user</archive>
</mailingList>
<mailingList>
<name>Maven Developer List</name>
<subscribe>dev-subscribe@maven.apache.org</subscribe>
<unsubscribe>dev-unsubscribe@maven.apache.org</unsubscribe>
<archive>http://marc.theaimsgroup.com/?l=turbine-maven-dev</archive>
</mailingList>
</mailingLists>


? 两种cd的团队成员位于Maven目中:捐赠者和开发者。这U定义可能改变你的项目,捐赠者通常被认为是开源社Z捐赠q补丁或文档者,开发者是一个项 目的核心成员。在ASFQ提交者和捐献者可以一同捐献一个项目,但捐献者既不写资源库代码又不提交大的项目决定。下面引用了project.xmld contributor和developer元素到project.xml文gQ?br />
<developers>
<developer>
<name>Vincent Massol</name>
<id>vmassol</id>
<email>vmassol@apache.org</email>
<organization>Apache Software Foundation</organization>
<roles>
<role>Author</role>
<role>Developer</role>
</roles>
<url>http://www.massol.net</url>
<timezone>+1</timezone>
</developer>
</developers>
<contributors>
<contributor>
<name>Tim OBrien</name>
<email>tobrien@apache.org</email>
<organization>Apache Software Foundation</organization>
<roles>
<role>Author</role>
<role>Developer</role>
</roles>
<url>http://www.oreillynet.com/pub/au/1738</url>
<timezone>-6</timezone>
</contributor>
</contributors>


刚刚发生了什么?
你告诉Maven谁在q个目工作Q对于今后你生成目的web站点很有用。开发者和捐赠者的信息在POM中以列表的通过站点生成插gQ很多插件ؓ资源控制生成报告。跟资源控制对话...?br />

向Maven到资源控?/span>
? 使用资源控制么?把它告诉lMavenQ在本书的下面你能够生成一些有兴趣的描q报告。一旦你兌了源代码资源库到你的目Q你能够是用Maven? Source Control Management(SCM)插gQ其提供了许多目标(goalQ用于从诸如CVS和其子版本的版本控制pȝ更新和发布?br />

我该如何做?
? 需要添加一个respository元素C目的project.xml文g。下面的respository元素来自于Apache Struts目Qƈ且它指向C于有效的子版本资源库http: //svn.apache.org/repos/asf/struts/core/trunkQ?br />
<repository>
<connection>
scm:svn:http://svn.apache.org/repos/asf/struts/core/trunk
</connection>
<developerConnection>
scm:svn:https://svn.apache.org/repos/asf/struts/core/trunk
</developerConnection>
<url>http://svn.apache.org/repos/asf/struts/core/trunk</url>
</repository>

connection 元素告诉Maven有关SCM只读的位|。scm标识该URL起始于SCM位置Qsvn告诉Maven该URL是资源库的子项目,q且最l的片断定位? 目的trunk。你可能也指定了developerConnectionQ你使用该元素在你需要分隔观众h的不可写访问和一般h的可写讉K源代码? url元素提供了能够被览的资源库的URL。在Struts的案例中Q他们选择了指向资源库到它自己Q它能够被一个正常的览器所览。Struts? 队也可以指向到ViewCVS实例配置指向到ASF的资源库的子版本Q它能够在http: //cvs.apache.org/viewcvs.cgi/struts/core/trunk/?root=Apache-SVN的位|找到?br />
当你在一个详l的资源控制pȝ指定了project.xmlQ你也可以指向到一个详l项目的不同版本和分之。下面的XML展示了简化版的Apache Struts目的version和branche元素?br />
<versions>
<version>
<id>1.2.0</id>
<name>1.2.0</name>
<tag>STRUTS_1_2_0</tag>
</version>
<version>
<id>1.2.6</id>
<name>1.2.6</name>
<tag>STRUTS_1_2_6</tag>
</version>
</versions>
<branches>
<branch>
<tag>STRUTS_1_1_BRANCH</tag>
</branch>
<branch>
<tag>STRUTS_1_2_BRANCH</tag>
</branch>
</branches>

Version被用于几个插Ӟ如Announcements插gQ其用于为每个版本创建发布纪录?br />
关于...
... CVSQ?/b>
如果你的目使用CVSQ在Jakatta Catus目中你需要添加一个如repository元素的资源库元素如下所C:
<repository>
<connection>
scm:cvs:pserver:anoncvs@cvs.apache.org:/home/cvspublic:jakarta-cactus
</connection>
<url>http://cvs.apache.org/viewcvs.cgi/jakarta-cactus/</url>
</repository>

在用CVS paserver如果你暴露你的资源库上面的引用是合适的。如果你在SSH之上讉KCVSQ你需要按照下面的语法讄你的CVS_RSH环境变量?br />
<repository>
<connection>
scm:cvs:pserver:anoncvs@cvs.apache.org:/home/cvspublic:jakarta-cactus
</connection>
<url>http://cvs.apache.org/viewcvs.cgi/jakarta-cactus/</url>
<developerConnection>
scm:cvs:ext:tobrien@somehost:/home/cvs/repository:modulename
</developerConnection>
</repository>


创徏目Web站点
Maven能够创徏目web,包含目的有关信息?br />

我该如何做?
创徏一个Maven目web站点Q用Site插gq行下面的Maven目标Q?br />C:\dev\mavenbook\code\genapp\test-application> maven site
q? 行Site插g在test-application/target/docs/index.html目录创徏默认的项目站炏V如果你加蝲q个HTMLQ? 你将发现q个站点与众不同的Maven感观。图1-5展示了一个轻量的定制web站点Q包含定制的l织logo和项目logo。作为替换向你展CZ人工? web站点Q你能够看出q个站点的项目当前正使用Maven的构建系l?Jaxen?br />
image
?-5.单的Maven目站点?br />
? 多Maven站点有一个项目导航部分用于提供链接系l向所有的Maven目。项目信息包含项目的有关信息Q项目的邮g列表Q项目的资源控制及问题跟t? Q你在W?章找到所有的q些Q。通过在xdocs目录里创建和修改XML标记生成Maven web站点的目录。在?Q项目包?个项目细节文档:Overview,FAQ,Releases,CVS Access和Status。这些文档因包括在xdocs/navigation.xml文g中所以他们被包含在左边的D栏。xdocs目录? Maven存放XML XDoc格式的项目细节文档的地方。下面是Jaxen的navigation.xml文档的内容:
<?xml version="1.0" encoding="ISO-8859-1"?>
<project name="jaxen" repository="jaxen" >
<title>jaxen: universal java xpath engine</title>
<body>
<links>
<item name="The Werken Company" />
</links>
<menu name="jaxen">
<item name="Overview" href="/index.html"/>
<item name="FAQ" href="/faq.html"/>
<item name="Releases" href="/releases.html"/>
<item name="CVS Access" href="/cvs-usage.html"/>
<item name="Status" href="/status.html"/>
</menu>
</body>
</project>

link 元素攄一个链接http://www.werken.com到页面的x边,目的logo之下Qmenu元素包含了用以显C的左右边的D区域。菜? 中的一个文件是xdocs/index.xml。下面是Jaxen的xdocs/index.xml文g的简短目录:
<?xml version="1.0"?>
<document url="http://jaxen.org/index.xml">
<properties>
<author email="bob@eng.werken.com">bob mcwhirter</author>
<title>jaxen</title>
</properties>
<body>
<section name="News">
<p>
Added the slidedeck from my
<a href="/pdf/intro-slides.pdf">SD-West presentation</a>.
</p>
<p>
Check out these
<a >Performance
Benchmarks</a> comparing dom4j and Jaxen against Xerces and Xalan.
</p>
</section>
[...]
</document>

一旦你生成了你的项目站点,加蝲target/docs/index.htmlC个浏览器来查看你目的web站点?br />
关于...
... q些文g的语法?

? 能在Maven XDoc插g的FAQQhttp://maven.apache.org/reference/plugins/xdoc/faq.htmlQ找? navigation.xml文g的更多相兌法和格式信息。ƈ且你也能在Maven XDoc Plug-in pageQhttp://maven.apache.org/reference/plugins/xdoc/index.htmlQ上扑ֈ更多有关 individual pages格式的信息。这个插件也面也包含更多定制站点生成插g的输出和行ؓ的说明?br />看第4章有兛_样化报告的更q分析Q这样你句能够把目zd和结构搞清楚了?br />

定制站点报告
站点生成创徏了许多有用的报告Q但依照你的风格Q你可能惛_出其中的某些报告?br />

我该如何做?
修改project.xml中的reports元素内容来改变Maven站点生成Ҏ告的生成。下面是reports元素中的几个有效的报告活动:

<reports>
<report>maven-changelog-plugin</report>
<report>maven-changes-plugin</report>
<report>maven-checkstyle-plugin</report>
<report>maven-clover-plugin</report>
<report>maven-cruisecontrol-plugin</report>
<report>maven-developer-activity-plugin</report>
<report>maven-faq-plugin</report>
<report>maven-file-activity-plugin</report>
<report>maven-license-plugin</report>
<report>maven-linkcheck-plugin</report>
Customizing Site Reports 37
<report>maven-javadoc-plugin</report>
<report>maven-jdepend-plugin</report>
<report>maven-jira-plugin</report>
<report>maven-junit-report-plugin</report>
<report>maven-jxr-plugin</report>
<report>maven-pmd-plugin</report>
<report>maven-simian-plugin</report>
<report>maven-tasklist-plugin</report>
</reports>


从Maven 的站点生成中排除一个报告,仅需要移除reports元素中的report的插件元素。Maven目q未指定reports元素生成一套默认的报告Q? jdependQCheckstyleQchangesQchangelogQdeveloper-activityQfile-activityQ? licenseQjavadocQjxrQjunitQlinkcheck和tacklist。当你添加一个reports元素C目? project.xml文gQ你必须列出所有你希望获得的报告?br />
刚刚发生了什么?
reports元素列出了所有这些多LreportsQ但你可能想了解报告提供的全部这些。表1-1提供了报告的一些摘要描q?br />image

更多全面的插件和报告列表Q参见:
Maven插g: http://maven.apache.org/reference/plugins/index.html
Maven插g沙箱: http://maven.apache.org/plugins-sandbox/index.html
Maven 在SourceForge上的插g: http://maven-plugins.sourceforge.net/
W三方Maven插g: http://maven.apache.org/reference/3rdparty.html


Rain's Blog 2006-05-03 00:43 发表评论
]]>[转]一关于网|代码屏蔽的文?/title><link>http://www.tkk7.com/zhenyu/archive/2006/04/02/38779.html</link><dc:creator>Rain's Blog</dc:creator><author>Rain's Blog</author><pubDate>Sun, 02 Apr 2006 14:31:00 GMT</pubDate><guid>http://www.tkk7.com/zhenyu/archive/2006/04/02/38779.html</guid><wfw:comment>http://www.tkk7.com/zhenyu/comments/38779.html</wfw:comment><comments>http://www.tkk7.com/zhenyu/archive/2006/04/02/38779.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.tkk7.com/zhenyu/comments/commentRss/38779.html</wfw:commentRss><trackback:ping>http://www.tkk7.com/zhenyu/services/trackbacks/38779.html</trackback:ping><description><![CDATA[ <font size="2">原文地址:http://www.blog.cqust.cn/user1/webdesign/archives/2006/89.html<br /><br /></font>       很早想写一关于网|代码屏蔽的文章。是因ؓl常~出些JS脚本的之后,在沾沾自喜的同时Q也在担心源代码会被人家看到Q盗用我的脚本。所以一直以来,我都在尽力维护我的网|代码的安全。虽然目前还没有扑ֈ完全安全的屏蔽方法(也就是说Q这些方法在我想出来的同Ӟ自己已经知道其弱点和破解Ҏ了)Q但是,我这里有很多屏蔽的思\Q来ȝ一下。?br /><br />  众所周知Q要保护一个页面,最基础的就是要屏蔽右键。而现在网上用得最多的是function click()Q即下面q段代码Q?br /><br />〈script〉?br />function click(){ <br />   if(event.button==2){ <br />             alert( ''本网站欢q您 !!''); <br />   } <br />} <br />document.onmousedown=click <br />?script〉?br /><br />  但是q种屏蔽Ҏ的破解方法也是众所周知的。那是q箋单击鼠标左键和右键便又可以看到右键菜单了。但是,我见q一U很好的屏蔽右键的方法。它的原理和上面所说的不同。它q不是用JS来编写的脚本Q而是利用定义|页属性来起到限制的作用。而且Q在屏蔽中应该尽量的避开使用JS脚本。因为只要浏览者把IE 里的javascript脚本用了。那么一切屏蔽都白费。?br /><br />  那么l箋说那U通过修改|页属性的屏蔽右键的方法。这U方法利用了HTML里的〈body〉来作修改,它只有以下短短的一行代码: <br /><br />〈body oncontextmenu=self.event.returnValue=false〉?br /><br />  q里Q定义了oncontextmenu。得右键的gؓfalseQvC屏蔽右键的效果。现在,再试试看刚才的破解方法,已经不行了。左右键q击已经不能再打开右键菜单。不但是q个Q再试试看其他的Ҏ。无Z怎样的ؕ点,右键都没有用。因为在q个|页里,右键已经不存在了。对于一个不存在的功能键Q你又能做什么呢Q?br /><br />  但是Q屏蔽了右键q不能解决问题。如果我要复制一D|字,或是一张图片。那么,把它选中后用ctrl+C 再用 ctrl+V不就可以复制_脓了嘛。对了,接下来要讲的Q就是屏蔽左键(什么?屏蔽左键Q那q个|页不就差不多废掉了Q别急,没说完呢Q左键只有一功能是很讨厌的Q的选定功能。?br /><br />  那么Q如上所_用JS来屏蔽是没有用的Q治标不L的。那么,我们p用网늚最基础的语aQHTML来定义吧。还是老招敎ͼ定义〈body〉。这ơ用的参数是Qonselectstart。就是左键选定的参数。代码如下: <br /><br />〈body onselectstart="return false"〉?br /><br />  q样Q左键选定功能qL屏蔽了。原理和上面的一栗现在,再用你的左键选择L内容把,已经没有用了。自然也不能ctrl + CQctrl +V了。那么,现在我们来把q两部分合ƈh。彻底控制左右键Q: <br /><br />〈body oncontextmenu=self.event.returnValue=false onselectstart="return false"〉?br /><br />  现在Q左右键的问题ȝ是解决了吧。?br /><br />  好,现在我们来看另一个问题。大安知道Q在IE览器的菜单栏里的“查看”项里。有一个“查看源代码”选项。这么一来,虽然我们屏蔽了右键里的查看源代码。但是,只要用菜单栏里的查看源代码,q是可以看到源代码的。这可怎么办呢Q?br /><br />  我最初的x是用框架来避开源代码的查看。也是_只要一个网|嵌在框架里的Q那么在菜单栏里选择查看源代码查看到的只是框架网늚源代码。一般格式如下: <br /><br />〈html〉?br /><br />〈head〉?br />〈meta HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=gb2312"〉?br />〈title〉本|站标题?title〉?br />?head〉?br /><br />〈frameset rows="47,*" framespacing="0" border="0" frameborder="0"〉?br /> 〈frame name="header" scrolling="no" noresize target="main" src="top.htm"〉?br /> 〈frame name="main" src="main.htm" scrolling="auto" target="_self"〉?br /> 〈noframes〉?br /> 〈body〉?br /><br /> 〈p〉此|页使用了框Ӟ但您的浏览器不支持框架。?p〉?br /><br /> ?body〉?br /> ?noframes〉  ?br />?frameset〉?br /><br />?html〉?br /><br />  q样看v来对Ҏ没有直接看到你的源代码了。但是,如果一个h要看你的源代码,那他八成是能看懂的。如果懂一点HTML的话Q都能看两句是什么意思: <br /><br /> 〈frame name="header" scrolling="no" noresize target="main" src="top.htm"〉?br /> 〈frame name="main" src="main.htm" scrolling="auto" target="_self"〉?br /><br />  q两句的意思就是:在headerQ也是|页剙Q处引用相对路径下的top.htm|页文g。而在mainQ也是占据|页大部分页面的位置Q处引用相对路径下的main.htm|页文g。就q两Ҏ关键的,其他׃作解释了Q大家也都懂的。而上面所讲的利用框架来隐藏源代码的方法就是将要显C页面放在main部分。而将header部分的大设?。但是这样一来,利用菜单栏里的查看源代码Q还是能查看到框架网늚源代码。只要看到这两句Q就知道我们前面用的手法了。也是_只要框架网늚名字改ؓ目标|页Q便可以用相同的Ҏ直接看到目标|页的源代码了。如Q框架网:http: //www.sina.com.cn/red.htm的源代码如上Q就可以改ؓHttp://www.sina.com.cn/main.htm。这样便可直接浏览被保护|页Q屏蔽源代码的效果还是没有达到。?br /><br />  那么Q有些h׃惛_Q如果对方看不到框架|页的源代码。又何谈ȝ接打开被保护网?对,q就是接下来我要讲的。如果要一个页面的菜单栏内的查看源代码失去效用。那最单的办法是L菜单栏。而这一Ҏ可以通过弹出H口来实现的。之所以不选用链接打开无菜单栏H口是因为那样会暴露目标地址Q浏览者可以直接在览器中敲入地址Q而绕q这个屏蔽的菜单栏。要使用链接打开无菜单栏H口Q就必须在一个已受到源代码屏蔽保障的|页中用相关链接。?br /><br />  那么Q我们就看看如何利用弹出H口来去掉菜单栏。其实,我们要做的,是让目标网在一个广告条中打开。这个代码几乎每个大型网站都会有的。代码如下: <br /><br />〈script〉?br />?-- <br />window.open("red.htm", "red", "resizable=yes,width=500,height=300"); <br />--〉?br />?script〉?br /><br />  q里Q在window.open后的括号里的W一个参数就是弹出窗口所昄的网늚位置Q这里例子里是先对位|下的red.htm|页文g。这时运行便会谈Z个显C有red.htm的无菜单栏的H口。好Q我们的目的辑ֈ了。但是,q个H口有一个缺P是没有滚动条。因为在谈出H口的语句: window.open里ƈ没有关于滚动条的参数Q(或是我不知道Q欢q高手来信指出)Q所以这里打开的网徏议只做成|页的导航页。?br /><br />  但是Q用以上Ҏ取消菜单栏,必须有一个第二方的网|作弹出的工作。那么,q个用来弹出H口的网又成ؓ了一个问题的所在。D例来_假设Q我们用一个index.htm来作弹出H口的工作。也是打开index.htm之后Q会弹出red.htm的无菜单栏窗口。前面我们也提到了,如果知道了一个网늚地址后,无论q个|页是否隐藏在无菜单栏之下,你都能看到它的源代码。那么,不让q个red.htm的地址暴露也就成了解决q个问题的关键。但是,只要q个index.htm被打开Q就可以看到源代码。但是,不妨反过来想惻I如果我们把index.html关h呢?只要在浏览者没有来得及查看 index.htm之前它关闭Q就能保住它的源代码了。那么,在这个index.htm里就有得做些文章了。?br />那就是,d关闭|页的代码。?br /><br />  那么Q我们就可以用window.close来关闭窗口。代码如下: <br /><br />〈script〉?br />?-- <br />window.open(); <br />--〉?br />?script〉?br /><br />  那么Q现在我们把两部分代码合qv来。现在,得到的效果就是——直接有一个无菜单栏的H口打开了。因机的处理速度很快Q如果我们将q两D代码紧接着写在一P那么我们只能看到新建的H口。代码如下: <br /><br />〈script〉?br />?-- <br />window.open("red.htm", "red", "resizable=yes,width=500,height=300"); <br />window.close(); <br />--〉?br />?script〉?br /><br />  而原来的H口Q已在我们无察觉的情况下关闭了。这P别说查看该|页的源代码了。这里,加入上面源代码的|页起了一个蟩板的作用。但是,在这里,我们要注意几炏V第一Q用来做x的网不应该命名为index.htm。将它换一个名字,然后把默认首늚名字改ؓ更改q的名字。这P是浏览者能在输入网之后便自动访问该c而又不致让对方知道该늚名称。如果不q样做,׃DҎ猜测늚位置。如Q?72.0.0.0/index.htm。这P可以通过在浏览器中提交:View-Source:Http://172.0.0.0/index.htm可以看到该늚源代码了。?br /><br />  在屏蔽掉了菜单栏和工h之后Q我们想Q如果没有了最上方的窗口条该多好呢Q下面我们要做的事情Q有前提Q就是在上面所说的在利用蟩杉K面打开一个无菜单栏的H口之后。我们要做什么呢Q就是让我们昄|站内容的窗口只昄内容Q(是啊Q网站不是l别人浏览的吗?要浏览器和windows的那么多功能做什么呀……)只要内容Q其余一律去掉。我们就可以通过一DJavascript来完成。下面这D代码就是用来定义无MH口特征的代码: <br /><br />〈script〉?br />function open1(url){ <br />newwin=window.open(url,''newwindow'',''fullscreen=1'') <br />newwin.resizeTo(800,600) <br />newwin.moveTo(screen.width/0-800,screen.height/0-600) <br />} <br />?script〉?br /><br />  其中Qfunction open1(url)定义了超链接的写法。所以,我们在写链接的地址Ӟ应该q样写:javascript:open1 (url)。比如我要打开一个无H口特征的新首就应该在文字或囄的超链接里这样写Qjavascript:open1(‘http: www.sina.com.cn?。当Ӟ括号内也支持相对路径。最后写出来的格式应该是Q?br /><br />〈script〉?br />function open1(url){ <br />newwin=window.open(url,''newwindow'',''fullscreen=1'') <br />newwin.resizeTo(800,600) <br />newwin.moveTo(screen.width/0-800,screen.height/0-600) <br />} <br />?script〉?br />〈body oncontextmenu=self.event.returnValue=false onselectstart="return false"〉?br />〈td width ="100%"〉〈a href="javascript:open1(''main.htm''),window.close()"〉〈img border="0" src="pic/blank1.gif" style="position: absolute; left: 556;  top: 142" width="169" height="57"〉?a〉?td〉?br />?body〉?br /><br />  q样Q我们就辑ֈ了打开无窗口边的网了。ƈ且,在这个网中Q会自动加入滚动条,q样Q就不会像前面那L不到下面的内容啦。?br /><br />  最后我们要做的工作Q就是把每一,或者你认ؓ重要的关键的面q行加密Q就OK啦。怎样对网늚源代码进行加密就不用我多说了吧?|上到处都有Q可以用工具Q也可以自己写一个htm文g来{换。加密YӞ我推荐“Batch HTML Encryptor”,去google扑֐。还有{换加密网늚代码如下Q?br /><br />〈HTML〉〈HEAD〉〈TITLE〉网加密解密?TITLE〉?br />〈META http-equiv=Content-Type content="text/html; charset=gb2312"〉?br />〈META content="MSHTML 6.00.2600.0" name=GENERATOR〉?-- 大地软g工作?-〉〈LINK <br />href="/style.css" rel=stylesheet〉?br />   〈META content="Microsoft FrontPage 4.0" name=GENERATOR〉?br />?HEAD〉?br />〈BODY bgColor=#ffffff leftMargin=0 topMargin=0 onload=initStyleElements()〉?br />〈DIV <br />style="LEFT: 139px; WIDTH: 106px; POSITION: absolute; TOP: 52px; HEIGHT: 36px"〉?br />〈TABLE cellSpacing=0 cellPadding=0 width=760 align=center border=0〉?--DWLayoutTable--〉?br /> 〈TBODY〉?br /> 〈TR〉?br />  〈TD vAlign=top align=middle width=760 height=310〉?br />   〈DIV align=center〉?br />   〈H2〉?br />   〈SCRIPT language=JavaScript〉?br />?-- <br />var i=0; <br />var ie=(document.all)?1:0; <br />var ns=(document.layers)?1:0; <br /><br />function initStyleElements() /* Styles for Buttons Init */ <br />{ <br />var c = document.pad; <br />if (ie) <br />{ <br />//c.text.style.backgroundColor="#DDDDDD"; <br />c.compileIt.style.backgroundColor="#C0C0A8"; <br />c.compileIt.style.cursor="hand"; <br />c.select.style.backgroundColor="#C0C0A8"; <br />c.select.style.cursor="hand"; <br />c.view.style.backgroundColor="#C0C0A8"; <br />c.view.style.cursor="hand"; <br />c.retur.style.backgroundColor="#C0C0A8"; <br />c.retur.style.cursor="hand"; <br />c.clear.style.backgroundColor="#C0C0A8"; <br />c.clear.style.cursor="hand"; <br />} <br />else return; <br />} <br /><br />/* Buttons Enlightment of "Compilation" panel */ <br />function LightOn(what) <br />{ <br />if (ie) what.style.backgroundColor = ''#E0E0D0''; <br />else return; <br />} <br />function FocusOn(what) <br />{ <br />if (ie) what.style.backgroundColor = ''#EBEBEB''; <br />else return; <br />} <br />function LightOut(what) <br />{ <br />if (ie) what.style.backgroundColor = ''#C0C0A8''; <br />else return; <br />} <br />function FocusOff(what) <br />{ <br />if (ie) what.style.backgroundColor = ''#DDDDDD''; <br />else return; <br />} <br />/* Buttons Enlightment of "Compilation" panel */ <br /><br />function generate() /* Generation of "Compilation" */ <br />{ <br />code = document.pad.text.value; <br />if (code) <br />{ <br />document.pad.text.value=''Compiling…Please wait!''; <br />setTimeout("compile()",1000); <br />} <br />else alert(''First enter something to compile and then press CompileIt'') <br />} <br />function compile() /* The "Compilation" */ <br />{ <br />document.pad.text.value=''''; <br />compilation=escape(code); <br />document.pad.text.value="/〈script〉\n?--\ndocument.write(unescape(\""+compilation+"\"));\n//--〉\n〈\/script?; <br />i++; <br />if (i=1) alert("Page compiled 1 time!"); <br />else alert("Page compiled "+i+" times!"); <br />} <br />function selectCode() /* Selecting "Compilation" for Copying */ <br />{ <br />if(document.pad.text.value.length?) <br />{ <br />document.pad.text.focus(); <br />document.pad.text.select(); <br />} <br />else alert(''Nothing for be selected!'') <br />} <br />function preview() /* Preview for the "Compilation" */ <br />{ <br />if(document.pad.text.value.length?) <br />{ <br />pr=window.open("","Preview","scrollbars=1,menubar=1,status=1,width=700,height=320,left=50,top=110"); <br />pr.document.write(document.pad.text.value); <br />} <br />else alert(''Nothing for be previewed!'') <br />} <br />function uncompile() /* Decompiling a "Compilation" */ <br />{ <br />if (document.pad.text.value.length?) <br />{ <br />source=unescape(document.pad.text.value); <br />document.pad.text.value=""+source+""; <br />} <br />else alert(''You need compiled code to uncompile it!'") <br />} <br />// --〉?br />?SCRIPT〉?br />   〈BR〉〈B〉〈FONT color=#333333〉网HTML源代码加密解密器?FONT〉?B〉?H2〉?DIV〉?br />   〈TABLE cellSpacing=0 borderColorDark=#000000 cellPadding=10 width=750 <br />   align=center borderColorLight=#ffffff border=2〉?br />    〈TBODY〉?br />    〈TR〉?br />     〈TD〉?br />      〈DIV align=center〉〈BR〉将你的源代码脓到编辑区域即可〈BR〉〈BR〉?br />      〈TABLE cellSpacing=0 cellPadding=0 width="100%" border=0〉?br />       〈TBODY〉?br />       〈TR〉?br />        〈TD width="100%"〉?-- Compilation Panel --〉?br />         〈FORM name=pad method=post align="center"〉?br />         〈DIV align=center〉〈TEXTAREA style="WIDTH: 95%; BACKGROUND-COLOR: #ebebeb" name=text rows=11 cols=58〉?TEXTAREA〉?br />          〈BR〉〈BR〉〈BR〉〈INPUT onmouseover=LightOn(this) onclick=generate()  onmouseout=LightOut(this) type=button value="/加密 name=compileIt〉?br />〈INPUT onmouseover=LightOn(this) onclick=selectCode() onmouseout=LightOut(this) type=button value=全选 name=select〉 ?br />〈INPUT onmouseover=LightOn(this) onclick=preview() onmouseout=LightOut(this) type=button value=预览 name=view〉 ?br />〈INPUT onmouseover=LightOn(this) onclick=uncompile() onmouseout=LightOut(this) type=button value=解密 name=retur〉 ?br />〈INPUT onmouseover=LightOn(this) onmouseout=LightOut(this) type=reset value=清除 name=clear〉 ?br />         ?DIV〉?FORM〉?-- Compilation Panel --〉?TD〉?TR〉?TBODY〉?TABLE〉?DIV〉?TD〉?TR〉?TBODY〉?TABLE〉?br />   〈DIV align=center〉〈BR〉?DIV〉?br />   〈DIV align=center〉?DIV〉 ?TD〉?TR〉?TBODY〉?TABLE〉?br />?DIV〉?br />〈DIV〉?DIV〉?BODY〉?HTML〉?br /><br />  ȝ一下……按我的思\Q屏蔽网|代码主要分ؓ以下几个步骤Q?br /><br />  1Q  做一个网蟩板,弹出要保护的q告条状面Qƈ自w关闭,以避免泄露需保护|页的地址。?br /><br />  2Q  由于上q条件屏蔽了q告条内|页的源代码Q所以可以用q个|页作ؓƢ迎c?br /><br />  3Q  在Ƣ迎中Q利用Javascript以超q接的Ş式来打开无窗口边的新H口昄|站内容。?br /><br />  4Q  对每一个页面或者对重要的关键的面q行源代码加密,为源代码加一把锁。(有些Ҏ代码q行加密没有用,但是我觉得要使用另类点的加密Ҏ可以了Q比如Y件的加密Ҏ很普通。但是用我自己写的htm文g加密的源代码Q一般Y件是不能q行解密的。大家有兴趣的话可以试试。) <br /><br />  5Q  最后不得不提的是windows|页临时文g夹了Q那里面会把源代码纪录的。但是不用怕,加入一U代码,可以windows不下载网늚源代码,直接览。可以去找找。?br /><br />  有些东西要注意的Q?br /><br />  1Q  在文中所说的自动关闭|页的语句:window.close()有一个弊病。就是会在关闭窗口之前询问是否关闭窗口,如果选择否的话目的还是达不到。?br /><br />  2Q  以上一切都只对IE览器有效用Q如果用别的览器来览Q就有可能出现屏蔽不成功的现象。?br /><br />  3Q  关于网|代码屏蔽Q一直以来是可望而不可及的。我只是把思\写下来,具体实现Q还是要靠大家自qI的啦?img src ="http://www.tkk7.com/zhenyu/aggbug/38779.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.tkk7.com/zhenyu/" target="_blank">Rain's Blog</a> 2006-04-02 22:31 <a href="http://www.tkk7.com/zhenyu/archive/2006/04/02/38779.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title> [转][国内著名大学][课g大全][在线Ҏ]http://www.tkk7.com/zhenyu/archive/2006/04/02/38778.htmlRain's BlogRain's BlogSun, 02 Apr 2006 14:19:00 GMThttp://www.tkk7.com/zhenyu/archive/2006/04/02/38778.htmlhttp://www.tkk7.com/zhenyu/comments/38778.htmlhttp://www.tkk7.com/zhenyu/archive/2006/04/02/38778.html#Feedback0http://www.tkk7.com/zhenyu/comments/commentRss/38778.htmlhttp://www.tkk7.com/zhenyu/services/trackbacks/38778.html[北方交通大学][数字电\]Qȝ]
http://61.131.25.2/course/hep/shuzidianlu
北京理工大学在线教学
http://61.131.25.2/course/bit/
http://www.mdjx.net/course/kjdb/kjdb2.htm
操作pȝ在线教学:
http://61.131.25.2/course/bit/BJ095008/
L数学在线教学
http://61.131.25.2/course/bit/bj094003/high.htm

软g工程在线教学
http://61.131.25.2/course/bit/bj096012/high.htm
北京理工大学[|页制作]http://61.131.25.2/course/bit/rj092022/high.htm
北京理工大学[汇编语言]http://61.131.25.2/course/bit/bj095007/
北京理工大学[微机接口技术]http://61.131.25.2/course/bit/bj096009/high.htm
北京理工大学[公共评]
计算机基
http://61.131.25.2/course/bit/BG091001/

高等数学?br />http://61.131.25.2/course/bit/bj111001/high.htm
高等数学?br />http://61.131.25.2/course/bit/bg111002/high.htm

工程制图
http://61.131.25.2/course/bit/BJ071011/
大学物理
http://61.131.25.2/course/hep/daxuewuli/
邓小q理?br />http://61.131.25.2/course/hep/dengxiaopinglilun/main/DXP/

法律基础
http://61.131.25.2/course/hep/falvjichu/
佛山数字图书?br />http://61.145.69.8:8080/was40/guangpan/index.htm
州大学在线教学
http://met.fzu.edu.cn/video/index.htm
复旦大学视频Ҏ译֠
http://www.zjxqkjpx.net/fudanjiaoxue/fudanjiaoxue.htm
吉林大学在先U教?br />http://dec-vod.jlu.edu.cn/tod/play/
自己觉得很不错的视频教学|站(中大|教,西交?教育|等{?
http://218.19.175.248/Ncourse/cxsj/
C++入门|络视频教程Q适合初学?br />http://www.spzyw.com/
http://202.117.21.244/view/list.exl
西安交通大学Y件学?br />http://tvu.yxtc.net/hbj/px/default.html
http://www.hljnzy.net/kejian/czxt/xxxzuoxitong/video.htm
《操作系l原理?br />http://162.105.6.253/
清华大学计算机系|络评
http://www.jwxf.com/abook/

清华严蔚敏老师|站
http://www.zjtcm.net/wljx/Comput

上v交通大学在U课?br />http://sjtu.online.sh.cn/ziyuanku/index.htm
四川大学在线教学
http://www.scopen.net/asfroot/scddip/
|上人民大学评
http://opencourse.cmr.com.cn/opencmr/lesson.asp
一个综合课件网
http://www.so138.com/
西南师范大学|络学院
http://61.128.234.241/
【推荐】四川广播电视大学“在U教E”破?br />四川q播电视大学“在U教E”破解,四川q播电视大学是以|络评Z的教Ԍ而且评的笼大性,不可能有很大的改动!该链接长期有效!Q!
计算机类
Q-Q-Q-Q-Q-Q-Q-Q-Q-Q-Q-Q-Q-Q-
|络数据库系l概?br />http://www.scopen.net/asfroot/scddip/wlsjk/Index.htm
Internet和Internet应用
http://www.scopen.net/asfroot/scddip/inter/index.htm
软g开发工具与环境
http://www.scopen.net/asfroot/scddip/rjkfgj/Index.htm
计算机网l工E?br />http://www.scopen.net/asfroot/scddip/jsjwl/index.htm
微机l装与维?br />http://www.scopen.net/asfroot/scddip/wjzzywh/index.htm
人工D
http://www.scopen.net/asfroot/scddip/rgzndl/index.htm
计算机网l安全技?br />http://www.scopen.net/asfroot/scddip/jsjanq/index.htm
l构计算软g
http://www.scopen.net/asfroot/scddip/jgjs/index.htm
软g工程
http://www.scopen.net/asfroot/scddip/rjgc/index.htm
Java语言与WWW技?br />http://www.scopen.net/asfroot/scddip/java&www/index.htm
信息技术专?br />http://www.scopen.net/asfroot/scddip/XXZT/index.htm
Internet与Web站点设计
http://www.scopen.net/asfroot/scddip/int&web/index.htm
多媒体课件制作与应用
http://www.scopen.net/asfroot/scddip/dmtkj/index.htm
微机控制与接口技?br />http://www.scopen.net/asfroot/scddip/wjkz/index.htm
法分析与设?br />http://www.scopen.net/asfroot/scddip/sffxysj/index.htm
计算机应用基
http://www.scopen.net/asfroot/scddip/jsjyyjc/index.htm
多媒体技术基及应?
http://www.scopen.net/asfroot/scddip/dmtjsjcjyy/index.htm
计算机图形学基础
http://www.scopen.net/asfroot/scddip/JSJTXXJC/index.htm
~译原理与实?br />http://www.scopen.net/asfroot/scddip/byyl/index.htm
多媒体技术基与应用IP
http://www.scopen.net/asfroot/scddip/dmtjsjcjyyip/index.htm
电子政务
http://www.scopen.net/asfroot/scddip/dzzw/index.htm
计算Z业英?br />http://www.scopen.net/asfroot/scddip/jsjyy/index.htm
单片机技?br />http://www.scopen.net/asfroot/scddip/dpj/index.htm
信息pȝ试
http://www.scopen.net/asfroot/scddip/xxxtcs/index.htm
AspE序设计基础
http://www.scopen.net/asfroot/scddip/asp/index.htm
计算机组装与l护
http://www.scopen.net/asfroot/scddip/jsjzz/index.htm
IT企业文化
http://www.scopen.net/asfroot/scddip/itqywh/index.htm
PB语言E序设计
http://www.scopen.net/asfroot/scddip/pbyycxsj/index.htm
Internet|络pȝ与实?br />http://www.scopen.net/asfroot/scddip/internetw/index.htm
|络安全基础
http://www.scopen.net/asfroot/scddip/wlaqjc/index.htm
数据处理概论
http://www.scopen.net/asfroot/scddip/sjcl/index.htm
计算机电路基
http://www.scopen.net/asfroot/scddip/jsjdljc/index.htm
信息pȝ分析与设?br />http://www.scopen.net/asfroot/scddip/xxxtfxy/index.htm
Q-Q-Q-Q-Q-Q-Q-Q-Q-Q-Q-Q-Q-Q-
数学c?br />Q-Q-Q-Q-Q-Q-Q-Q-Q-Q-Q-Q-Q-Q-
l济数学基础
http://www.scopen.net/asfroot/scddip/jjsxjc/index.htm
中学数学解题研究
http://www.scopen.net/asfroot/scddip/zxsxyj/index.htm
微分几何
http://www.scopen.net/asfroot/scddip/wfjh/index.htm
泛函数分析初?br />http://www.scopen.net/asfroot/scddip/fhfx/index.htm
数学发展?br />http://www.scopen.net/asfroot/scddip/sxfzs/index.htm
数学物理方程
http://www.scopen.net/asfroot/scddip/sxwl/index.htm
q筹?br />http://www.scopen.net/asfroot/scddip/ycx/index.htm
q世代数
http://www.scopen.net/asfroot/scddip/jsds/index.htm
L数学
http://www.scopen.net/asfroot/scddip/lssx/index.htm
初等数论
http://www.scopen.net/asfroot/scddip/cdsl/index.htm
l济数学
http://www.scopen.net/asfroot/scddip/jjsx/index.htm
Q-Q-Q-Q-Q-Q-Q-Q-Q-Q-Q-Q-Q-Q-
法学c?br />Q-Q-Q-Q-Q-Q-Q-Q-Q-Q-Q-Q-Q-Q-
马克思主义基理论
http://www.scopen.net/asfroot/scddip/mks/index.htm
政治l济?br />http://www.scopen.net/asfroot/scddip/zzjjx/index.htm
财政与税?br />http://www.scopen.net/asfroot/scddip/czyss/index.htm
物权?br />http://www.scopen.net/asfroot/scddip/wqf/index.htm
n保险
http://www.scopen.net/asfroot/scddip/rsbx/index.htm
房地产法
http://www.scopen.net/asfroot/scddip/fdcf/index.htm
财保险
http://www.scopen.net/asfroot/scddip/ccbx/index.htm
国家预算与税?br />http://www.scopen.net/asfroot/scddip/gjys/index.htm
仲裁?br />http://www.scopen.net/asfroot/scddip/zcf/index.htm
监督与监?br />http://www.scopen.net/asfroot/scddip/jdyjc/index.htm
侉|行ؓ?br />http://www.scopen.net/asfroot/scddip/qqxwf/index.htm
WTO法律专题
http://www.scopen.net/asfroot/scddip/WTOFLZT/index.htm
犯罪?br />http://www.scopen.net/asfroot/scddip/fzx/index.htm
法学概论
http://www.scopen.net/asfroot/scddip/fxgl/index.htm
E法
http://www.scopen.net/asfroot/scddip/sf/index.htm
外国法制?br />http://www.scopen.net/asfroot/scddip/wgfz/index.htm
中国律师?br />http://www.scopen.net/asfroot/scddip/zglsx/index.htm
保险?br />http://www.scopen.net/asfroot/scddip/bxf/index.htm
公司?br />http://www.scopen.net/asfroot/scddip/gsf/index.htm
破?br />http://www.scopen.net/asfroot/scddip/pcf/index.htm
财政金融?br />http://www.scopen.net/asfroot/scddip/czjr/index.htm
地方政府?br />http://www.scopen.net/asfroot/scddip/dfzfx/index.htm
国际政治?br />http://www.scopen.net/asfroot/scddip/gjzzx/index.htm
非政府组l概?br />http://www.scopen.net/asfroot/scddip/fzfzzgl/index.htm
Q-Q-Q-Q-Q-Q-Q-Q-Q-Q-Q-Q-Q-Q-
dc?br />Q-Q-Q-Q-Q-Q-Q-Q-Q-Q-Q-Q-Q-Q-
传染病护理学
http://www.scopen.net/asfroot/scddip/crbhl/index.htm
诊断学基
http://www.scopen.net/asfroot/scddip/zdxjc/index.htm
中医药学基础
http://www.scopen.net/asfroot/scddip/zyyjc/index.htm
卫生l计?br />http://www.scopen.net/asfroot/scddip/wstjx/index.htm
生药?br />http://www.scopen.net/asfroot/scddip/syx/index.htm
内科护理?br />http://www.scopen.net/asfroot/scddip/nkhlx/index.htm
d论理?br />http://www.scopen.net/asfroot/scddip/yxllx/index.htm
dp
http://www.scopen.net/asfroot/scddip/yxyy/index.htm
外科护理学(一Q?br />http://www.scopen.net/asfroot/scddip/wk1/index.htm
外科护理学(二)
http://www.scopen.net/asfroot/scddip/wk2/index.htm
传染病学
http://www.scopen.net/asfroot/scddip/crbx/index.htm
药物ȝ?br />http://www.scopen.net/asfroot/scddip/ywzlx/index.htm
食品生物化学
http://www.scopen.net/asfroot/scddip/spswhx/index.htm
Q-Q-Q-Q-Q-Q-Q-Q-Q-Q-Q-Q-Q-Q-
pc?br />Q-Q-Q-Q-Q-Q-Q-Q-Q-Q-Q-Q-Q-Q-
外Np函电
http://www.scopen.net/asfroot/scddip/wmyyhd/index.htm
商务p
http://www.scopen.net/asfroot/scddip/swyy/index.htm
大学pQ?Q?br />http://www.scopen.net/asfroot/scddip/dxyy3/index.htm
大学pQ?Q?br />http://www.scopen.net/asfroot/scddip/dxyy4/index.htm
译理论与实?br />http://www.scopen.net/asfroot/scddip/fyll/index.htm
外Np
http://www.scopen.net/asfroot/scddip/wmyy/index.htm
l合p
http://www.scopen.net/asfroot/scddip/zhyy/index.htm
商务交际p
http://www.scopen.net/asfroot/scddip/swjjyy/index.htm
商Np阅读Q一Q?br />http://www.scopen.net/asfroot/scddip/jmyyyd/index.htm
基础pQ?Q?br />http://www.scopen.net/asfroot/scddip/jcyy/index.htm
Q-Q-Q-Q-Q-Q-Q-Q-Q-Q-Q-Q-Q-Q-
lNc?br />Q-Q-Q-Q-Q-Q-Q-Q-Q-Q-Q-Q-Q-Q-
l济信息概论
http://www.scopen.net/asfroot/scddip/jjxxgl/index.htm
金融审计
http://www.scopen.net/asfroot/scddip/jrsj/index.htm
财政与金?br />http://www.scopen.net/asfroot/scddip/czyjr/index.htm
公共财政?br />http://www.scopen.net/asfroot/scddip/ggczx/index.htm
西方l济?br />http://www.scopen.net/asfroot/scddip/xfjjx/index.htm
保险营销?br />http://www.scopen.net/asfroot/scddip/bxyx/index.htm
股䆾l济?br />http://www.scopen.net/asfroot/scddip/gfjjx/index.htm
国际贸易原理
http://www.scopen.net/asfroot/scddip/gjmyyl/index.htm
金融市场
http://www.scopen.net/asfroot/scddip/jrsc/index.htm
资评估
http://www.scopen.net/asfroot/scddip/zcpg/index.htm
区域l济?br />http://www.scopen.net/asfroot/scddip/qyjjx/index.htm
国际贸易?br />http://www.scopen.net/asfroot/scddip/gjmyf/index.htm
市场营销?br />http://www.scopen.net/asfroot/scddip/scyxx/index.htm
知识l济概论
http://www.scopen.net/asfroot/scddip/zsjj/index.htm
金融发展?br />http://www.scopen.net/asfroot/scddip/jrfzs/index.htm
商务谈判实务
http://www.scopen.net/asfroot/scddip/swtpsw/index.htm
证券投资分析
http://www.scopen.net/asfroot/scddip/zqtzfx/index.htm
贸易实务
http://www.scopen.net/asfroot/scddip/mysw/index.htm
金融专题讲
http://www.scopen.net/asfroot/scddip/jrztjz/index.htm
Q-Q-Q-Q-Q-Q-Q-Q-Q-Q-Q-Q-Q-Q-
理?br />Q-Q-Q-Q-Q-Q-Q-Q-Q-Q-Q-Q-Q-Q-
投资分析
http://www.scopen.net/asfroot/scddip/tzfx/index.htm
目评估
http://www.scopen.net/asfroot/scddip/xmpg/index.htm
资本l营
http://www.scopen.net/asfroot/scddip/zbjy/index.htm
财务理
http://www.scopen.net/asfroot/scddip/cwgl/index.htm
企业会计与胦?br />http://www.scopen.net/asfroot/scddip/qykjycw/index.htm
人力资源理
http://www.scopen.net/asfroot/scddip/rlzygl/index.htm
企业生񔽎理
http://www.scopen.net/asfroot/scddip/qyscgl/index.htm
C֌理
http://www.scopen.net/asfroot/scddip/sqgl/index.htm
国际企业理
http://www.scopen.net/asfroot/scddip/gjqygl/index.htm
C企业理Ҏ
http://www.scopen.net/asfroot/scddip/xdqy/index.htm
企业l计?br />http://www.scopen.net/asfroot/scddip/qytjx/index.htm
物业理案例分析
http://www.scopen.net/asfroot/scddip/wygl/index.htm
划管?br />http://www.scopen.net/asfroot/scddip/xqgh/index.htm
企业l济zd分析
http://www.scopen.net/asfroot/scddip/qyjjhdfx/index.htm
质量理
http://www.scopen.net/asfroot/scddip/zlgl/index.htm
工商理l计
http://www.scopen.net/asfroot/scddip/gsgltj/index.htm
市场调查
http://www.scopen.net/asfroot/scddip/scdc/index.htm
市场调查与预?br />http://www.scopen.net/asfroot/scddip/scdcyyc/index.htm
C会调查研究与方?br />http://www.scopen.net/asfroot/scddip/shdcyj/Index.htm
l计法规概论
http://www.scopen.net/asfroot/scddip/tjfggl/index.htm
C会l济调查Ҏ与实?br />http://www.scopen.net/asfroot/scddip/shjjdc/index.htm
再保险理Z实务
http://www.scopen.net/asfroot/scddip/zbxll/index.htm
企业文化
http://www.scopen.net/asfroot/scddip/qywh/index.htm
ceshi
http://www.scopen.net/asfroot/scddip/dmtkj1/index.htm
会计模拟实验
http://www.scopen.net/asfroot/scddip/kjmnsy/index.htm
U书资格证书专题
http://www.scopen.net/asfroot/scddip/mszgzszt/index.htm
Q-Q-Q-Q-Q-Q-Q-Q-Q-Q-Q-Q-Q-Q-
心理?br />Q-Q-Q-Q-Q-Q-Q-Q-Q-Q-Q-Q-Q-Q-
实用心理?br />http://www.scopen.net/asfroot/scddip/xlx/index.htm
消费心理?br />http://www.scopen.net/asfroot/scddip/xfxlx/index.htm
理心理?br />http://www.scopen.net/asfroot/scddip/glxlx/index.htm
C会心理?br />http://www.scopen.net/asfroot/scddip/shxlx/index.htm
Q-Q-Q-Q-Q-Q-Q-Q-Q-Q-Q-Q-Q-Q-
文学c?br />Q-Q-Q-Q-Q-Q-Q-Q-Q-Q-Q-Q-Q-Q-
中国古代文学作品选读
http://www.scopen.net/asfroot/scddip/zggdwx/index.htm
专题写作
http://www.scopen.net/asfroot/scddip/ztxz/index.htm
中国现当代文学名著导?br />http://www.scopen.net/asfroot/scddip/zgxddwx/Index.htm
西方文论选读
http://www.scopen.net/asfroot/scddip/xfwlxd/index.htm
比较文学
http://www.scopen.net/asfroot/scddip/bjwx/index.htm
教育哲学
http://www.scopen.net/asfroot/scddip/jyzx/index.htm
儿童文学
http://www.scopen.net/asfroot/scddip/etwx/index.htm
基础写作
http://www.scopen.net/asfroot/scddip/jcxz/index.htm
文艺理论基础
http://www.scopen.net/asfroot/scddip/wylljc/index.htm
中国古代文化要籍D
http://www.scopen.net/asfroot/scddip/zggdwh/index.htm
C教育技术基
http://www.scopen.net/asfroot/scddip/jyjsjc/Index.htm
q告文案写作
http://www.scopen.net/asfroot/scddip/ggwaxz/index.htm
明中国古代史
http://www.scopen.net/asfroot/scddip/jmzggds/index.htm
文学概论
http://www.scopen.net/asfroot/scddip/wxgl/index.htm
语言与语a应用?br />http://www.scopen.net/asfroot/scddip/yyyyx/index.htm
q概况
http://www.scopen.net/asfroot/scddip/UK&USA/index.htm
U学发展?br />http://www.scopen.net/asfroot/scddip/kxfzjs/index.htm
Q-Q-Q-Q-Q-Q-Q-Q-Q-Q-Q-Q-Q-Q-
教育c?br />Q-Q-Q-Q-Q-Q-Q-Q-Q-Q-Q-Q-Q-Q-
创新教学
http://www.scopen.net/asfroot/scddip/cxjx/index.htm
新教学模式探索与实践
http://www.scopen.net/asfroot/scddip/baogao/index.htm
译֠实录
http://www.scopen.net/asfroot/scddip/ktsl/index.htm
教师职业道d
http://www.scopen.net/asfroot/scddip/jszydd/index.htm
译֠直播
http://www.scopen.net/asfroot/scddip/ktzb/index.htm
教育C会?br />http://www.scopen.net/asfroot/scddip/jyshx/index.htm
CU学技?br />http://www.scopen.net/asfroot/scddip/xdkx/index.htm
教学设计
http://www.scopen.net/asfroot/scddip/jxsj/index.htm
Q-Q-Q-Q-Q-Q-Q-Q-Q-Q-Q-Q-Q-Q-
q告c?br />Q-Q-Q-Q-Q-Q-Q-Q-Q-Q-Q-Q-Q-Q-
学专题
http://www.scopen.net/asfroot/scddip/mxzt/index.htm
q告摄媄
http://www.scopen.net/asfroot/scddip/ggsy/index.htm
pq告
http://www.scopen.net/asfroot/scddip/ysgg/index.htm
q告案例剖析
http://www.scopen.net/asfroot/scddip/ggalpx/index.htm
q告媒体
http://www.scopen.net/asfroot/scddip/ggmt/index.htm
中国术?br />http://www.scopen.net/asfroot/scddip/zgmsjs/index.htm
Q-Q-Q-Q-Q-Q-Q-Q-Q-Q-Q-Q-Q-Q-
工程设计c?br />Q-Q-Q-Q-Q-Q-Q-Q-Q-Q-Q-Q-Q-Q-
混凝土结?br />http://www.scopen.net/asfroot/scddip/hntjg/index.htm
Ҏ力?br />http://www.scopen.net/asfroot/scddip/txlx/index.htm
国际工程承包
http://www.scopen.net/asfroot/scddip/gjgccb/index.htm
土木建筑工程概论
http://www.scopen.net/asfroot/scddip/tmjzgcgl/index.htm
模具设计刉?br />http://www.scopen.net/asfroot/scddip/mjsjzz/index.htm
机械刉工艺学
http://www.scopen.net/asfroot/scddip/jxzzgyx/index.htm
Q-Q-Q-Q-Q-Q-Q-Q-Q-Q-Q-Q-Q-Q-
农业c?br />Q-Q-Q-Q-Q-Q-Q-Q-Q-Q-Q-Q-Q-Q-
农业技术推q?br />http://www.scopen.net/asfroot/scddip/nyjstg/index.htm
C农业技术专题讲?br />http://www.scopen.net/asfroot/scddip/xdnyjs/index.htm
奉贤宽带教学|教学资?br />http://www.edu.fp.net.cn/
中国IT试验室IT相关下蝲
http://download.chinaitlab.com/
Windows 调整教学的网?br />http://www.alan888.com/
豆豆技术网 Q最大的计算机教学资源网Q?br />http://soft.ddvip.net/
大河|络学院Q四万余电脑技术文章供您在U学习。)
http://www.dhxy.com/
西师|络学院温州教学点-视频课gҎ
http://www.eduwz.net/video/login.asp?classid=2
密码:888
一学网Q单片机学习Q?br />http://www.onestudy.net/
清华大学在线教学课g【该c课件共?48个?
http://learn.tsinghua.edu.cn/cod_search.jsp?c_Class=10
乐清电大多媒体教学浙大课件资源VODҎpȝ
http://www.yqtvu.com/vod/
电子U技大学|络教育学院
http://61.142.80.124/index.asp

Rain's Blog 2006-04-02 22:19 发表评论
]]>
վ֩ģ壺 Ƶһ| Ʒþ㽶Ѳ| ۺɫĻ| պaëƬƵ| ԰߹ۿ91| ձ޳ɸһ| ߹ۿѵһ| ƷƵ| ۺϾƷ㽶þ97| ѹۿŮվ| Դ߹ۿ| ˳С˵վɫ| ˳ɫ7777߹ۿ| avվëƬ| 99ƵƷƵ76| ޹av| ޹СƵƷþþ | ޾Ʒ| ѴƬavֻƬ| ޹Ʒۺɫ| AV֮պƷ| ѲƵһ| ƷƵ| ؼAëƬѹۿ| ޾Ʒ߲Ƶ| ɫֻڵ| aŮѿȫƬ| պ߹ۿƵ| Ļ| þþƷ96Ʒ| 2020| ҹAëƬ| þŮվ| һƵѹۿ| AVպAVɫ | ˾Ʒһѿ| AV| avһۿ| ɫƷaһ| ִֻˬƵ| Ƶ|