﻿<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:trackback="http://madskills.com/public/xml/rss/module/trackback/" xmlns:wfw="http://wellformedweb.org/CommentAPI/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/"><channel><title>IT博客-想飞就飞</title><link>http://www.cnitblog.com/wldandan/</link><description /><language>zh-cn</language><lastBuildDate>Mon, 04 May 2026 19:27:10 GMT</lastBuildDate><pubDate>Mon, 04 May 2026 19:27:10 GMT</pubDate><ttl>60</ttl><item><title>使用cpan2rpm获得cpan上的rpm包</title><link>http://www.cnitblog.com/wldandan/archive/2005/08/15/2073.html</link><dc:creator>想飞就飞</dc:creator><author>想飞就飞</author><pubDate>Mon, 15 Aug 2005 05:13:00 GMT</pubDate><guid>http://www.cnitblog.com/wldandan/archive/2005/08/15/2073.html</guid><wfw:comment>http://www.cnitblog.com/wldandan/comments/2073.html</wfw:comment><comments>http://www.cnitblog.com/wldandan/archive/2005/08/15/2073.html#Feedback</comments><slash:comments>17</slash:comments><wfw:commentRss>http://www.cnitblog.com/wldandan/comments/commentRss/2073.html</wfw:commentRss><trackback:ping>http://www.cnitblog.com/wldandan/services/trackbacks/2073.html</trackback:ping><description><![CDATA[<P>在cpan上查找到的perl module 一般都是tar.gz的src包</P>
<P>但这样安装起来就存在麻烦,还要执行perl Makefile.pl之类的</P>
<P>怎么样可以找到相应的rpm包呢</P>
<P><A href="http://perl.arix.com/cpan2rpm/">cpan2rpm</A> 解决了这个问题,它可以帮你获的你想要的rpm包(并不是全部)</P>
<P>具体可以查看cpan的主页 <A href="http://perl.arix.com/cpan2rpm/">http://perl.arix.com/cpan2rpm/</A></P>
<P>This script generates an RPM package from a Perl module. It uses the standard RPM file structure and creates a spec file, a source RPM, and a binary, leaving these in their respective directories.</P>
<P>The script can operate on local files, directories, urls and CPAN module names. Install this package if you want to create RPMs out of Perl modules.</P>
<P>The syntax for cpan2rpm supports multiple <EM>distribution</EM> names, which can take one of four different forms:</P>
<OL>
<LI><STRONG><A name=item_name><STRONG>a CPAN module name</STRONG> (e.g. XML::Simple) - When a module name is passed, the script will ``walk'' search.cpan.org to determine the latest distribution. If an exact match is not found, the CPAN module is used to make this determination. If you have not yet configured this module, please refer to the REQUIREMENTS section below for further instructions.</A></STRONG><BR>
<LI><STRONG><A name=item_url><STRONG>a URL</STRONG> (both <EM>http://</EM> and <EM>ftp://</EM> style locators will work) - In this and the above case, an automatic download of the needed tarball is performed (see notes for how). The tarball is deposited in the SOURCES directory.</A></STRONG><BR>
<LI><STRONG><A name=item_tarball><STRONG>a path to a tarball</STRONG> (e.g. <EM>/tmp/XML-Simple-1.05.tar.gz</EM>) - In this case, the tarball indicated gets copied to the SOURCES directory.</A></STRONG><BR>
<LI><STRONG><A name=item_directory><STRONG>a directory path</STRONG> - The directory specified must contain a <EM>Makefile.PL</EM>. If the user intends to build a package from a directory (i.e. user does NOT specify <STRONG>--spec-only</STRONG>), the commands:</A></STRONG><BR><PRE>    perl Makefile.PL
    make
    make dist</PRE>
<P>will be performed in that directory in order to create the tarball necessary for package creation.</P></LI></OL>
<P>不过我还没试验成功从一个tar.gz转换成rpm格式,我发现如果cpan上有对应的rpm包就可以获得,</P>
<P>没有就提示出没有了</P>
<P>同时这里还提供了web 接口,你可以不需要安装cpan2rpm直接获取</P>
<P>注:很多网上说这样使用.但我发现却不能成功</P>
<P><TT sytle="color: teal">&nbsp;&nbsp; cpan2rpm Proc-Daemon-0.03.tar.gz</TT> </P><PRE style="COLOR: teal">-- cpan2rpm - Ver: 2.028 --
Upgrade check
Fetch: HTTP

-- module: Proc-Daemon-0.03.tar.gz --
tarball: No such file or directory at ./cpan2rpm line 1230.
-- Done --
</PRE>
<P>这样用却可以</P>
<P>&nbsp;cpan2rpm &nbsp;<FONT face="Courier New">Proc::Daemon</FONT></P>
<P><FONT face="Courier New">或者</FONT></P>
<P><FONT face="Courier New">&nbsp;cpan2rpm http://.../Proc-Daemon-0.03.tar.gz</FONT> </P>
<P>不过有一些还是没有rpm包<A href="http://perl.arix.com/cpan2rpm/"></A></P><img src ="http://www.cnitblog.com/wldandan/aggbug/2073.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cnitblog.com/wldandan/" target="_blank">想飞就飞</a> 2005-08-15 13:13 <a href="http://www.cnitblog.com/wldandan/archive/2005/08/15/2073.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>MiddleGen的使用总结</title><link>http://www.cnitblog.com/wldandan/archive/2005/08/15/2072.html</link><dc:creator>想飞就飞</dc:creator><author>想飞就飞</author><pubDate>Mon, 15 Aug 2005 05:04:00 GMT</pubDate><guid>http://www.cnitblog.com/wldandan/archive/2005/08/15/2072.html</guid><wfw:comment>http://www.cnitblog.com/wldandan/comments/2072.html</wfw:comment><comments>http://www.cnitblog.com/wldandan/archive/2005/08/15/2072.html#Feedback</comments><slash:comments>2</slash:comments><wfw:commentRss>http://www.cnitblog.com/wldandan/comments/commentRss/2072.html</wfw:commentRss><trackback:ping>http://www.cnitblog.com/wldandan/services/trackbacks/2072.html</trackback:ping><description><![CDATA[<P><FONT size=2>一 环境配置<BR>&nbsp;&nbsp; <BR>&nbsp; 需要的包:jsdk,ant,hibernate,hibernate-extension,MiddleGen</FONT></P>
<P><FONT size=2>二 环境变量设置<BR>&nbsp; 一般步骤可参照网上<BR>&nbsp; 这里,我是这样使用的<BR>&nbsp; <BR>&nbsp;&nbsp; 拷贝%hibernate_Home%\lib*.jar到%MiddleGen%\lib<BR>&nbsp;&nbsp; 拷贝%hibernate_Home%\hibernate2.jar到%MiddleGen%\lib<BR>&nbsp;&nbsp; 拷贝%hibernate-extension_Home%\tools\lib*.jar到%MiddleGen%\lib<BR>&nbsp;&nbsp; 拷贝%hibernate-extension_Home%\tools\hibernate-tools.jar到%MiddleGen%\lib</FONT></P>
<P><BR><FONT size=2>三 MiddleGen的配置<BR>&nbsp;&nbsp;&nbsp; 配置目标数据库参数<BR>进入MiddleGen 目录下的\config\database 子目录，根据我们实际采用的数据库打开<BR>对应的配置文件。如这里我们用的是mysql数据库，对应的就是mysql.xml文件。<BR>&lt;property name="database.script.file" value="${src.dir}/sql/${name}-mysql.sql"/&gt;<BR>&lt;property name="database.driver.file" value="${lib.dir}/mysql.jar"/&gt;<BR>&lt;property name="database.driver.classpath" value="${database.driver.file}"/&gt;<BR>&lt;property name="database.driver" value="org.gjt.mm.mysql.Driver"/&gt;<BR>&lt;property name="database.url" value="jdbc:mysql://localhost/sample"/&gt;<BR>&lt;property name="database.userid" value="user"/&gt;<BR>&lt;property name="database.password" value="mypass"/&gt;<BR>&lt;property name="database.schema" value=""/&gt;<BR>&lt;property name="database.catalog" value=""/&gt;<BR>&lt;property name="jboss.datasource.mapping" value="mySQL"/&gt;<BR><BR>3) 修改Build.xml<BR>修改MiddleGen 根目录下的build.xml 文件，此文件是Middlegen-Hibernate 的Ant<BR>构建配置。Middlegen-Hibernate将根据build.xml文件中的具体参数生成数据库表映射<BR>文件。可配置的项目包括：<BR>a) 目标数据库配置文件地址<BR>查找关键字 ”!ENTITY”，得到：<BR>&lt;!DOCTYPE project [<BR>&lt;!ENTITY database SYSTEM<BR>"file:./config/database/hsqldb.xml"&gt;<BR>]&gt;<BR>默认情况下，MiddleGen 采用的是hsqldb.xml，将其修改为我们所用的数据<BR>库配置文件（mysql.xml）：<BR>&lt;!DOCTYPE project [<BR>&lt;!ENTITY database SYSTEM<BR>"file:./config/database/mysql.xml"&gt;<BR>]&gt;<BR>b) Application name<BR>查找：<BR>&lt;property name="name" value="airline"/&gt;<BR>“aireline”是MiddleGen原始配置中默认的 Application Name，将其修改为我们<BR>所希望的名称，如“HibernateSample”：<BR>&lt;property name="name" value="HibernateSample"/&gt;<BR>c) 输出目录<BR>查找关键字“name="build.gen-src.dir"”，得到：<BR>&lt;property name="build.gen-src.dir"<BR>value="${build.dir}/gen-src"/&gt;<BR>修改value="${build.dir}/gen-src"使其指向我们所期望的输出目录，<BR>这里我们修改为：<BR>&lt;property name="build.gen-src.dir"<BR>value="C:\sample"/&gt;<BR>d) 对应代码的Package name<BR>查找关键字“destination”，得到：<BR>&lt;hibernate<BR>destination="${build.gen-src.dir}"<BR>package="${name}.hibernate"<BR>genXDocletTags="false"<BR>genIntergratedCompositeKeys="false"<BR>javaTypeMapper=<BR>"middlegen.plugins.hibernate.HibernateJavaTypeMapper"<BR>/&gt;<BR>可以看到，hibernate 节点package 属性的默认设置实际上是由前面的<BR>Application Name （${name}）和“.hibernate”组合而成，根据我们的需要，<BR>将其改为：<BR>&lt;hibernate<BR>destination="${build.gen-src.dir}"<BR>package="org.hibernate.sample"<BR>genXDocletTags="true"<BR>genIntergratedCompositeKeys="false"<BR>javaTypeMapper=<BR>"middlegen.plugins.hibernate.HibernateJavaTypeMapper"<BR>/&gt;<BR>这里还有一个属性genXDocletTags，如果设置为true，则生成的代码将包含<BR>xdoclet tag，这为以后在开发过程中借助xdoclet进行映射调整提供了帮助</FONT></P>
<P><FONT size=2>至此为止，MiddleGen 已经配置完毕，在MiddleGen 根目录下运行ant，就将出现<BR>MiddleGen的界面：</FONT></P>
<P><BR><FONT size=2>四 .xml到.java<BR>&nbsp;&nbsp; 在得到.xml后,使用ant hbm2java 即可得到相应的java文件</FONT></P>
<P><FONT size=2>总结:<BR>&nbsp; 我第一次运行成功,但是后来则出现类似错误,检查发现在MiddleGen的lib目录下存在多个类似的jar包<BR>(velocity.jar,velocity***.jar),删除旧的jar包后,问题解决</FONT></P>
<P><FONT size=2>[middlegen] java.lang.IncompatibleClassChangeError<BR>[middlegen]&nbsp;&nbsp;&nbsp;&nbsp; at middlegen.KindFileResourceLoader.getResourceStream(KindFileRe<BR>sourceLoader.java:82)<BR>[middlegen]&nbsp;&nbsp;&nbsp;&nbsp; at org.apache.velocity.Template.process(Template.java:136)<BR>[middlegen]&nbsp;&nbsp;&nbsp;&nbsp; at org.apache.velocity.runtime.resource.ResourceManagerImpl.load<BR>Resource(ResourceManagerImpl.java:466)<BR>[middlegen]&nbsp;&nbsp;&nbsp;&nbsp; at org.apache.velocity.runtime.resource.ResourceManagerImpl.getR<BR>esource(ResourceManagerImpl.java:384)<BR>[middlegen]&nbsp;&nbsp;&nbsp;&nbsp; at org.apache.velocity.runtime.RuntimeInstance.getTemplate(Runti<BR>meInstance.java:814)<BR>[middlegen]&nbsp;&nbsp;&nbsp;&nbsp; at org.apache.velocity.runtime.RuntimeInstance.getTemplate(Runti<BR>meInstance.java:796)<BR>[middlegen]&nbsp;&nbsp;&nbsp;&nbsp; at org.apache.velocity.runtime.VelocimacroFactory.initVelocimacr<BR>o(VelocimacroFactory.java:211)<BR>[middlegen]&nbsp;&nbsp;&nbsp;&nbsp; at org.apache.velocity.runtime.RuntimeInstance.init(RuntimeInsta<BR>nce.java:276)<BR>[middlegen]&nbsp;&nbsp;&nbsp;&nbsp; at org.apache.velocity.runtime.RuntimeInstance.init(RuntimeInsta<BR>nce.java:441)<BR>[middlegen]&nbsp;&nbsp;&nbsp;&nbsp; at org.apache.velocity.app.VelocityEngine.init(VelocityEngine.ja<BR>va:148)<BR>[middlegen]&nbsp;&nbsp;&nbsp;&nbsp; at middlegen.Plugin.getEngine(Plugin.java:560)<BR>[middlegen]&nbsp;&nbsp;&nbsp;&nbsp; at middlegen.Plugin.generate(Plugin.java:444)<BR>[middlegen]&nbsp;&nbsp;&nbsp;&nbsp; at middlegen.Middlegen.writeSource(Middlegen.java:411)<BR>[middlegen]&nbsp;&nbsp;&nbsp;&nbsp; at middlegen.swing.JMiddlegenFrame$1.actionPerformed(JMiddlegenF<BR>rame.java:72)<BR>[middlegen]&nbsp;&nbsp;&nbsp;&nbsp; at javax.swing.AbstractButton.fireActionPerformed(AbstractButton<BR>.java:1786)<BR>[middlegen]&nbsp;&nbsp;&nbsp;&nbsp; at javax.swing.AbstractButton$ForwardActionEvents.actionPerforme<BR>d(AbstractButton.java:1839)<BR>[middlegen]&nbsp;&nbsp;&nbsp;&nbsp; at javax.swing.DefaultButtonModel.fireActionPerformed(DefaultBut<BR>tonModel.java:420)<BR>[middlegen]&nbsp;&nbsp;&nbsp;&nbsp; at javax.swing.DefaultButtonModel.setPressed(DefaultButtonModel.<BR>java:258)<BR>[middlegen]&nbsp;&nbsp;&nbsp;&nbsp; at javax.swing.plaf.basic.BasicButtonListener.mouseReleased(Basi<BR>cButtonListener.java:245)<BR>[middlegen]&nbsp;&nbsp;&nbsp;&nbsp; at java.awt.Component.processMouseEvent(Component.java:5100)<BR>[middlegen]&nbsp;&nbsp;&nbsp;&nbsp; at java.awt.Component.processEvent(Component.java:4897)<BR>[middlegen]&nbsp;&nbsp;&nbsp;&nbsp; at java.awt.Container.processEvent(Container.java:1569)<BR>[middlegen]&nbsp;&nbsp;&nbsp;&nbsp; at java.awt.Component.dispatchEventImpl(Component.java:3615)<BR>[middlegen]&nbsp;&nbsp;&nbsp;&nbsp; at java.awt.Container.dispatchEventImpl(Container.java:1627)<BR>[middlegen]&nbsp;&nbsp;&nbsp;&nbsp; at java.awt.Component.dispatchEvent(Component.java:3477)<BR>[middlegen]&nbsp;&nbsp;&nbsp;&nbsp; at java.awt.LightweightDispatcher.retargetMouseEvent(Container.j<BR>ava:3483)<BR>[middlegen]&nbsp;&nbsp;&nbsp;&nbsp; at java.awt.LightweightDispatcher.processMouseEvent(Container.ja<BR>va:3198)<BR>[middlegen]&nbsp;&nbsp;&nbsp;&nbsp; at java.awt.LightweightDispatcher.dispatchEvent(Container.java:3<BR>128)<BR>[middlegen]&nbsp;&nbsp;&nbsp;&nbsp; at java.awt.Container.dispatchEventImpl(Container.java:1613)<BR>[middlegen]&nbsp;&nbsp;&nbsp;&nbsp; at java.awt.Window.dispatchEventImpl(Window.java:1606)<BR>[middlegen]&nbsp;&nbsp;&nbsp;&nbsp; at java.awt.Component.dispatchEvent(Component.java:3477)<BR>[middlegen]&nbsp;&nbsp;&nbsp;&nbsp; at java.awt.EventQueue.dispatchEvent(EventQueue.java:456)<BR>[middlegen]&nbsp;&nbsp;&nbsp;&nbsp; at java.awt.EventDispatchThread.pumpOneEventForHierarchy(EventDi<BR>spatchThread.java:201)<BR>[middlegen]&nbsp;&nbsp;&nbsp;&nbsp; at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDisp<BR>atchThread.java:151)<BR>[middlegen]&nbsp;&nbsp;&nbsp;&nbsp; at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.j<BR>ava:145)<BR>[middlegen]&nbsp;&nbsp;&nbsp;&nbsp; at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.j<BR>ava:137)<BR>[middlegen]&nbsp;&nbsp;&nbsp;&nbsp; at java.awt.EventDispatchThread.run(EventDispatchThread.java:100<BR>)<BR></FONT></P><img src ="http://www.cnitblog.com/wldandan/aggbug/2072.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cnitblog.com/wldandan/" target="_blank">想飞就飞</a> 2005-08-15 13:04 <a href="http://www.cnitblog.com/wldandan/archive/2005/08/15/2072.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>关于文件大小被限制成2G的情况</title><link>http://www.cnitblog.com/wldandan/archive/2005/08/15/2071.html</link><dc:creator>想飞就飞</dc:creator><author>想飞就飞</author><pubDate>Mon, 15 Aug 2005 04:50:00 GMT</pubDate><guid>http://www.cnitblog.com/wldandan/archive/2005/08/15/2071.html</guid><wfw:comment>http://www.cnitblog.com/wldandan/comments/2071.html</wfw:comment><comments>http://www.cnitblog.com/wldandan/archive/2005/08/15/2071.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cnitblog.com/wldandan/comments/commentRss/2071.html</wfw:commentRss><trackback:ping>http://www.cnitblog.com/wldandan/services/trackbacks/2071.html</trackback:ping><description><![CDATA[<P><FONT size=2>上个周五的时候，在客户端启动通过网卡启动os，制作映象的时候，突然提示<BR>File limited ......<BR>仔细看了一下，此时的映象大小是2051M，正好被限制在2G<BR>问了一下WJ，她以前也有此类问题，但后来换了一个ramdisk就自己好了<BR>很奇怪，于是看了一下busybox的编译选项，里面原来有这个选项<BR>（suport&nbsp; &gt; 2G.......）<BR>又重新找了LS，在实验室一测，这次真的是可以了<BR>而且除了mount命令使用linux自带的外，其他的命令几乎都是busybox编译进去的<BR>这个问题暂时就算解决了</FONT></P><img src ="http://www.cnitblog.com/wldandan/aggbug/2071.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cnitblog.com/wldandan/" target="_blank">想飞就飞</a> 2005-08-15 12:50 <a href="http://www.cnitblog.com/wldandan/archive/2005/08/15/2071.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item></channel></rss>