开发者社区> 问答> 正文

jfinal 启动中启动插件失败:报错

2012-11-05 10:29:31
[WARN]-[Thread: Timer-0]-[com.mchange.v2.async.ThreadPoolAsynchronousRunner$DeadlockDetector.run()]: com.mchange.v2.async.ThreadPoolAsynchronousRunner$DeadlockDetector.run(ThreadPoolAsynchronousRunner.java:624)com.mchange.v2.async.ThreadPoolAsynchronousRunner$DeadlockDetector@16999c8 -- APPARENT DEADLOCK!!! Complete Status:
 Managed Threads: 3
 Active Threads: 3
 Active Tasks:
  com.mchange.v2.resourcepool.BasicResourcePool$AcquireTask@1d0bc85 (com.mchange.v2.async.ThreadPoolAsynchronousRunner$PoolThread-#1)
  com.mchange.v2.resourcepool.BasicResourcePool$AcquireTask@108c1b7 (com.mchange.v2.async.ThreadPoolAsynchronousRunner$PoolThread-#0)
  com.mchange.v2.resourcepool.BasicResourcePool$AcquireTask@1e61582 (com.mchange.v2.async.ThreadPoolAsynchronousRunner$PoolThread-#2)
 Pending Tasks:
  com.mchange.v2.resourcepool.BasicResourcePool$AcquireTask@8e2fb5
  com.mchange.v2.resourcepool.BasicResourcePool$AcquireTask@de24c5
  com.mchange.v2.resourcepool.BasicResourcePool$AcquireTask@402e11
  com.mchange.v2.resourcepool.BasicResourcePool$AcquireTask@1906773
  com.mchange.v2.resourcepool.BasicResourcePool$AcquireTask@177c977
  com.mchange.v2.resourcepool.BasicResourcePool$AcquireTask@14bcb5c
  com.mchange.v2.resourcepool.BasicResourcePool$AcquireTask@1144026
Pool thread stack traces:
 Thread[com.mchange.v2.async.ThreadPoolAsynchronousRunner$PoolThread-#1,5,main]
  java.lang.Thread.sleep(Native Method)
  com.mchange.v2.resourcepool.BasicResourcePool$AcquireTask.run(BasicResourcePool.java:1805)
  com.mchange.v2.async.ThreadPoolAsynchronousRunner$PoolThread.run(ThreadPoolAsynchronousRunner.java:547)
 Thread[com.mchange.v2.async.ThreadPoolAsynchronousRunner$PoolThread-#0,5,main]
  java.lang.Thread.sleep(Native Method)
  com.mchange.v2.resourcepool.BasicResourcePool$AcquireTask.run(BasicResourcePool.java:1805)
  com.mchange.v2.async.ThreadPoolAsynchronousRunner$PoolThread.run(ThreadPoolAsynchronousRunner.java:547)
 Thread[com.mchange.v2.async.ThreadPoolAsynchronousRunner$PoolThread-#2,5,main]
  java.lang.Thread.sleep(Native Method)
  com.mchange.v2.resourcepool.BasicResourcePool$AcquireTask.run(BasicResourcePool.java:1805)
  com.mchange.v2.async.ThreadPoolAsynchronousRunner$PoolThread.run(ThreadPoolAsynchronousRunner.java:547)

 

2012-11-05 10:29:40
[WARN]-[Thread: com.mchange.v2.async.ThreadPoolAsynchronousRunner$PoolThread-#2]-[com.mchange.v2.resourcepool.BasicResourcePool$AcquireTask.run()]: com.mchange.v2.resourcepool.BasicResourcePool$AcquireTask.run(BasicResourcePool.java:1841)com.mchange.v2.resourcepool.BasicResourcePool$AcquireTask@1e61582 -- Acquisition Attempt Failed!!! Clearing pending acquires. While trying to acquire a needed new resource, we failed to succeed more than the maximum number of allowed acquisition attempts (30). Last acquisition attempt exception:
java.sql.SQLException: No suitable driver
 at java.sql.DriverManager.getDriver(Unknown Source)
 at com.mchange.v2.c3p0.DriverManagerDataSource.driver(DriverManagerDataSource.java:223)
 at com.mchange.v2.c3p0.DriverManagerDataSource.getConnection(DriverManagerDataSource.java:134)
 at com.mchange.v2.c3p0.WrapperConnectionPoolDataSource.getPooledConnection(WrapperConnectionPoolDataSource.java:182)
 at com.mchange.v2.c3p0.WrapperConnectionPoolDataSource.getPooledConnection(WrapperConnectionPoolDataSource.java:171)
 at com.mchange.v2.c3p0.impl.C3P0PooledConnectionPool$1PooledConnectionResourcePoolManager.acquireResource(C3P0PooledConnectionPool.java:137)
 at com.mchange.v2.resourcepool.BasicResourcePool.doAcquire(BasicResourcePool.java:1014)
 at com.mchange.v2.resourcepool.BasicResourcePool.access$800(BasicResourcePool.java:32)
 at com.mchange.v2.resourcepool.BasicResourcePool$AcquireTask.run(BasicResourcePool.java:1810)
 at com.mchange.v2.async.ThreadPoolAsynchronousRunner$PoolThread.run(ThreadPoolAsynchronousRunner.java:547)

2012-11-05 10:29:40
[WARN]-[Thread: com.mchange.v2.async.ThreadPoolAsynchronousRunner$PoolThread-#0]-[com.mchange.v2.resourcepool.BasicResourcePool$AcquireTask.run()]: com.mchange.v2.resourcepool.BasicResourcePool$AcquireTask.run(BasicResourcePool.java:1841)com.mchange.v2.resourcepool.BasicResourcePool$AcquireTask@108c1b7 -- Acquisition Attempt Failed!!! Clearing pending acquires. While trying to acquire a needed new resource, we failed to succeed more than the maximum number of allowed acquisition attempts (30). Last acquisition attempt exception:
java.sql.SQLException: No suitable driver
 at java.sql.DriverManager.getDriver(Unknown Source)
 at com.mchange.v2.c3p0.DriverManagerDataSource.driver(DriverManagerDataSource.java:223)
 at com.mchange.v2.c3p0.DriverManagerDataSource.getConnection(DriverManagerDataSource.java:134)
 at com.mchange.v2.c3p0.WrapperConnectionPoolDataSource.getPooledConnection(WrapperConnectionPoolDataSource.java:182)
 at com.mchange.v2.c3p0.WrapperConnectionPoolDataSource.getPooledConnection(WrapperConnectionPoolDataSource.java:171)
 at com.mchange.v2.c3p0.impl.C3P0PooledConnectionPool$1PooledConnectionResourcePoolManager.acquireResource(C3P0PooledConnectionPool.java:137)
 at com.mchange.v2.resourcepool.BasicResourcePool.doAcquire(BasicResourcePool.java:1014)
 at com.mchange.v2.resourcepool.BasicResourcePool.access$800(BasicResourcePool.java:32)
 at com.mchange.v2.resourcepool.BasicResourcePool$AcquireTask.run(BasicResourcePool.java:1810)
 at com.mchange.v2.async.ThreadPoolAsynchronousRunner$PoolThread.run(ThreadPoolAsynchronousRunner.java:547)

2012-11-05 10:29:40
[WARN]-[Thread: com.mchange.v2.async.ThreadPoolAsynchronousRunner$PoolThread-#1]-[com.mchange.v2.resourcepool.BasicResourcePool$AcquireTask.run()]: com.mchange.v2.resourcepool.BasicResourcePool$AcquireTask.run(BasicResourcePool.java:1841)com.mchange.v2.resourcepool.BasicResourcePool$AcquireTask@1d0bc85 -- Acquisition Attempt Failed!!! Clearing pending acquires. While trying to acquire a needed new resource, we failed to succeed more than the maximum number of allowed acquisition attempts (30). Last acquisition attempt exception:
java.sql.SQLException: No suitable driver
 at java.sql.DriverManager.getDriver(Unknown Source)
 at com.mchange.v2.c3p0.DriverManagerDataSource.driver(DriverManagerDataSource.java:223)
 at com.mchange.v2.c3p0.DriverManagerDataSource.getConnection(DriverManagerDataSource.java:134)
 at com.mchange.v2.c3p0.WrapperConnectionPoolDataSource.getPooledConnection(WrapperConnectionPoolDataSource.java:182)
 at com.mchange.v2.c3p0.WrapperConnectionPoolDataSource.getPooledConnection(WrapperConnectionPoolDataSource.java:171)
 at com.mchange.v2.c3p0.impl.C3P0PooledConnectionPool$1PooledConnectionResourcePoolManager.acquireResource(C3P0PooledConnectionPool.java:137)
 at com.mchange.v2.resourcepool.BasicResourcePool.doAcquire(BasicResourcePool.java:1014)
 at com.mchange.v2.resourcepool.BasicResourcePool.access$800(BasicResourcePool.java:32)
 at com.mchange.v2.resourcepool.BasicResourcePool$AcquireTask.run(BasicResourcePool.java:1810)
 at com.mchange.v2.async.ThreadPoolAsynchronousRunner$PoolThread.run(ThreadPoolAsynchronousRunner.java:547)

2012-11-05 10:29:40
[ERROR]-[Thread: main]-[com.jdf.core.Config.startPlugins()]: com.jdf.core.Config.startPlugins(Config.java:67)Plugin start error: com.jdf.plugin.activerecord.ActiveRecordPlugin
com.jdf.plugin.activerecord.ActiveRecordException: java.sql.SQLException: Connections could not be acquired from the underlying database!
 at com.jdf.plugin.activerecord.TableInfoBuilder.buildTableInfo(TableInfoBuilder.java:20)
 at com.jdf.plugin.activerecord.ActiveRecordPlugin.start(ActiveRecordPlugin.java:83)
 at com.jdf.core.Config.startPlugins(Config.java:60)
 at com.jdf.core.Config.configJdf(Config.java:30)
 at com.jdf.core.Jdf.init(Jdf.java:47)
 at com.jdf.core.JdfFilter.init(JdfFilter.java:30)
 at org.apache.catalina.core.ApplicationFilterConfig.getFilter(ApplicationFilterConfig.java:295)
 at org.apache.catalina.core.ApplicationFilterConfig.setFilterDef(ApplicationFilterConfig.java:422)
 at org.apache.catalina.core.ApplicationFilterConfig.<init>(ApplicationFilterConfig.java:115)
 at org.apache.catalina.core.StandardContext.filterStart(StandardContext.java:4072)
 at org.apache.catalina.core.StandardContext.start(StandardContext.java:4726)
 at org.apache.catalina.core.ContainerBase.addChildInternal(ContainerBase.java:799)
 at org.apache.catalina.core.ContainerBase.addChild(ContainerBase.java:779)
 at org.apache.catalina.core.StandardHost.addChild(StandardHost.java:601)
 at org.apache.catalina.startup.HostConfig.deployDirectory(HostConfig.java:1079)
 at org.apache.catalina.startup.HostConfig.deployDirectories(HostConfig.java:1002)
 at org.apache.catalina.startup.HostConfig.deployApps(HostConfig.java:506)
 at org.apache.catalina.startup.HostConfig.start(HostConfig.java:1317)
 at org.apache.catalina.startup.HostConfig.lifecycleEvent(HostConfig.java:324)
 at org.apache.catalina.util.LifecycleSupport.fireLifecycleEvent(LifecycleSupport.java:142)
 at org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1065)
 at org.apache.catalina.core.StandardHost.start(StandardHost.java:840)
 at org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1057)
 at org.apache.catalina.core.StandardEngine.start(StandardEngine.java:463)
 at org.apache.catalina.core.StandardService.start(StandardService.java:525)
 at org.apache.catalina.core.StandardServer.start(StandardServer.java:754)
 at org.apache.catalina.startup.Catalina.start(Catalina.java:595)
 at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
 at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
 at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
 at java.lang.reflect.Method.invoke(Unknown Source)
 at org.apache.catalina.startup.Bootstrap.start(Bootstrap.java:289)
 at org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:414)
Caused by: java.sql.SQLException: Connections could not be acquired from the underlying database!
 at com.mchange.v2.sql.SqlUtils.toSQLException(SqlUtils.java:106)
 at com.mchange.v2.c3p0.impl.C3P0PooledConnectionPool.checkoutPooledConnection(C3P0PooledConnectionPool.java:529)
 at com.mchange.v2.c3p0.impl.AbstractPoolBackedDataSource.getConnection(AbstractPoolBackedDataSource.java:128)
 at com.jdf.plugin.activerecord.TableInfoBuilder.buildTableInfo(TableInfoBuilder.java:18)
 ... 32 more
Caused by: com.mchange.v2.resourcepool.CannotAcquireResourceException: A ResourcePool could not acquire a resource from its primary factory or source.
 at com.mchange.v2.resourcepool.BasicResourcePool.awaitAvailable(BasicResourcePool.java:1319)
 at com.mchange.v2.resourcepool.BasicResourcePool.prelimCheckoutResource(BasicResourcePool.java:557)
 at com.mchange.v2.resourcepool.BasicResourcePool.checkoutResource(BasicResourcePool.java:477)
 at com.mchange.v2.c3p0.impl.C3P0PooledConnectionPool.checkoutPooledConnection(C3P0PooledConnectionPool.java:525)
 ... 34 more
2012-11-5 10:29:40 org.apache.catalina.core.StandardContext filterStart
严重: Exception starting filter jdf
java.lang.RuntimeException: Plugin start error: com.jdf.plugin.activerecord.ActiveRecordPlugin
 at com.jdf.core.Config.startPlugins(Config.java:68)
 at com.jdf.core.Config.configJdf(Config.java:30)
 at com.jdf.core.Jdf.init(Jdf.java:47)
 at com.jdf.core.JdfFilter.init(JdfFilter.java:30)
 at org.apache.catalina.core.ApplicationFilterConfig.getFilter(ApplicationFilterConfig.java:295)
 at org.apache.catalina.core.ApplicationFilterConfig.setFilterDef(ApplicationFilterConfig.java:422)
 at org.apache.catalina.core.ApplicationFilterConfig.<init>(ApplicationFilterConfig.java:115)
 at org.apache.catalina.core.StandardContext.filterStart(StandardContext.java:4072)
 at org.apache.catalina.core.StandardContext.start(StandardContext.java:4726)
 at org.apache.catalina.core.ContainerBase.addChildInternal(ContainerBase.java:799)
 at org.apache.catalina.core.ContainerBase.addChild(ContainerBase.java:779)
 at org.apache.catalina.core.StandardHost.addChild(StandardHost.java:601)
 at org.apache.catalina.startup.HostConfig.deployDirectory(HostConfig.java:1079)
 at org.apache.catalina.startup.HostConfig.deployDirectories(HostConfig.java:1002)
 at org.apache.catalina.startup.HostConfig.deployApps(HostConfig.java:506)
 at org.apache.catalina.startup.HostConfig.start(HostConfig.java:1317)
 at org.apache.catalina.startup.HostConfig.lifecycleEvent(HostConfig.java:324)
 at org.apache.catalina.util.LifecycleSupport.fireLifecycleEvent(LifecycleSupport.java:142)
 at org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1065)
 at org.apache.catalina.core.StandardHost.start(StandardHost.java:840)
 at org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1057)
 at org.apache.catalina.core.StandardEngine.start(StandardEngine.java:463)
 at org.apache.catalina.core.StandardService.start(StandardService.java:525)
 at org.apache.catalina.core.StandardServer.start(StandardServer.java:754)
 at org.apache.catalina.startup.Catalina.start(Catalina.java:595)
 at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
 at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
 at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
 at java.lang.reflect.Method.invoke(Unknown Source)
 at org.apache.catalina.startup.Bootstrap.start(Bootstrap.java:289)
 at org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:414)
Caused by: com.jdf.plugin.activerecord.ActiveRecordException: java.sql.SQLException: Connections could not be acquired from the underlying database!
 at com.jdf.plugin.activerecord.TableInfoBuilder.buildTableInfo(TableInfoBuilder.java:20)
 at com.jdf.plugin.activerecord.ActiveRecordPlugin.start(ActiveRecordPlugin.java:83)
 at com.jdf.core.Config.startPlugins(Config.java:60)
 ... 30 more
Caused by: java.sql.SQLException: Connections could not be acquired from the underlying database!
 at com.mchange.v2.sql.SqlUtils.toSQLException(SqlUtils.java:106)
 at com.mchange.v2.c3p0.impl.C3P0PooledConnectionPool.checkoutPooledConnection(C3P0PooledConnectionPool.java:529)
 at com.mchange.v2.c3p0.impl.AbstractPoolBackedDataSource.getConnection(AbstractPoolBackedDataSource.java:128)
 at com.jdf.plugin.activerecord.TableInfoBuilder.buildTableInfo(TableInfoBuilder.java:18)
 ... 32 more
Caused by: com.mchange.v2.resourcepool.CannotAcquireResourceException: A ResourcePool could not acquire a resource from its primary factory or source.
 at com.mchange.v2.resourcepool.BasicResourcePool.awaitAvailable(BasicResourcePool.java:1319)
 at com.mchange.v2.resourcepool.BasicResourcePool.prelimCheckoutResource(BasicResourcePool.java:557)
 at com.mchange.v2.resourcepool.BasicResourcePool.checkoutResource(BasicResourcePool.java:477)
 at com.mchange.v2.c3p0.impl.C3P0PooledConnectionPool.checkoutPooledConnection(C3P0PooledConnectionPool.java:525)
 ... 34 more
2012-11-5 10:29:40 org.apache.catalina.core.StandardContext start
严重: Error filterStart
2012-11-5 10:29:40 org.apache.catalina.core.StandardContext start
严重: Context [/jdfPro] startup failed due to previous errors
2012-11-5 10:29:40 org.apache.catalina.loader.WebappClassLoader clearReferencesJdbc
严重: The web application [/jdfPro] registered the JDBC driver [com.mysql.jdbc.Driver] but failed to unregister it when the web application was stopped. To prevent a memory leak, the JDBC Driver has been forcibly unregistered.
2012-11-5 10:29:40 org.apache.catalina.loader.WebappClassLoader clearReferencesThreads
严重: The web application [/jdfPro] appears to have started a thread named [Timer-0] but has failed to stop it. This is very likely to create a memory leak.
2012-11-5 10:29:40 org.apache.catalina.loader.WebappClassLoader clearReferencesThreads
严重: The web application [/jdfPro] appears to have started a thread named [com.mchange.v2.async.ThreadPoolAsynchronousRunner$PoolThread-#0] but has failed to stop it. This is very likely to create a memory leak.
2012-11-5 10:29:40 org.apache.catalina.loader.WebappClassLoader clearReferencesThreads
严重: The web application [/jdfPro] appears to have started a thread named [com.mchange.v2.async.ThreadPoolAsynchronousRunner$PoolThread-#1] but has failed to stop it. This is very likely to create a memory leak.
2012-11-5 10:29:40 org.apache.catalina.loader.WebappClassLoader clearReferencesThreads
严重: The web application [/jdfPro] appears to have started a thread named [com.mchange.v2.async.ThreadPoolAsynchronousRunner$PoolThread-#2] but has failed to stop it. This is very likely to create a memory leak.
2012-11-5 10:29:40 org.apache.catalina.loader.WebappClassLoader clearReferencesThreads
严重: The web application [/jdfPro] appears to have started a thread named [Dispatch-Thread-for-com.mchange.v2.async.ThreadPerTaskAsynchronousRunner@1d866c5] but has failed to stop it. This is very likely to create a memory leak.
2012-11-5 10:29:40 org.apache.catalina.loader.WebappClassLoader clearReferencesThreads
严重: The web application [/jdfPro] appears to have started a thread named [Task-Thread-for-com.mchange.v2.async.ThreadPerTaskAsynchronousRunner@1d866c5] but has failed to stop it. This is very likely to create a memory leak.
2012-11-5 10:29:40 org.apache.catalina.loader.WebappClassLoader clearReferencesThreads
严重: The web application [/jdfPro] appears to have started a thread named [Task-Thread-for-com.mchange.v2.async.ThreadPerTaskAsynchronousRunner@1d866c5] but has failed to stop it. This is very likely to create a memory leak.
2012-11-5 10:29:40 org.apache.catalina.loader.WebappClassLoader clearReferencesThreads
严重: The web application [/jdfPro] appears to have started a thread named [Task-Thread-for-com.mchange.v2.async.ThreadPerTaskAsynchronousRunner@1d866c5] but has failed to stop it. This is very likely to create a memory leak.
2012-11-5 10:29:40 org.apache.catalina.loader.WebappClassLoader clearReferencesThreads
严重: The web application [/jdfPro] appears to have started a thread named [Task-Thread-for-com.mchange.v2.async.ThreadPerTaskAsynchronousRunner@1d866c5] but has failed to stop it. This is very likely to create a memory leak.
2012-11-5 10:29:40 org.apache.catalina.loader.WebappClassLoader clearReferencesThreads
严重: The web application [/jdfPro] appears to have started a thread named [Task-Thread-for-com.mchange.v2.async.ThreadPerTaskAsynchronousRunner@1d866c5] but has failed to stop it. This is very likely to create a memory leak.
2012-11-5 10:29:40 org.apache.catalina.loader.WebappClassLoader clearReferencesThreads
严重: The web application [/jdfPro] appears to have started a thread named [Task-Thread-for-com.mchange.v2.async.ThreadPerTaskAsynchronousRunner@1d866c5] but has failed to stop it. This is very likely to create a memory leak.
2012-11-5 10:29:40 org.apache.catalina.loader.WebappClassLoader clearReferencesThreads
严重: The web application [/jdfPro] appears to have started a thread named [Task-Thread-for-com.mchange.v2.async.ThreadPerTaskAsynchronousRunner@1d866c5] but has failed to stop it. This is very likely to create a memory leak.
2012-11-5 10:29:40 org.apache.catalina.startup.HostConfig deployDirectory
信息: Deploying web application directory ROOT
2012-11-5 10:29:40 org.apache.catalina.startup.HostConfig deployDirectory
信息: Deploying web application directory samples
2012-11-5 10:29:41 org.apache.coyote.http11.Http11Protocol start
信息: Starting Coyote HTTP/1.1 on http-8080
2012-11-5 10:29:41 org.apache.jk.common.ChannelSocket init
信息: JK: ajp13 listening on /0.0.0.0:8009
2012-11-5 10:29:41 org.apache.jk.server.JkMain start
信息: Jk running ID=0 time=0/31  config=null
2012-11-5 10:29:41 org.apache.catalina.startup.Catalina start
信息: Server startup in 33824 ms
Exception in thread "Task-Thread-for-com.mchange.v2.async.ThreadPerTaskAsynchronousRunner@1d866c5" java.lang.NullPointerException
 at com.mchange.v2.log.log4j.Log4jMLog$Log4jMLogger.isLoggable(Log4jMLog.java:257)
 at com.mchange.v2.resourcepool.BasicResourcePool.decrementPendingAcquires(BasicResourcePool.java:421)
 at com.mchange.v2.resourcepool.BasicResourcePool.access$900(BasicResourcePool.java:32)
 at com.mchange.v2.resourcepool.BasicResourcePool$AcquireTask.run(BasicResourcePool.java:1887)
 at com.mchange.v2.async.ThreadPerTaskAsynchronousRunner$TaskThread.run(ThreadPerTaskAsynchronousRunner.java:255)

展开
收起
kun坤 2020-06-14 13:38:13 629 0
1 条回答
写回答
取消 提交回答
  • 哥儿们,你把 @JFinal 包名、类名都给改了,你确定没有侵犯波总的版权?对 JFinal改过后的项目开源吗?"com.jfinal" 改为了"com.jdf",JFinal.java 改为了 Jdf.java,什么情况?。上个图:


    ######

    驱动设置了没?默认的是Mysql驱动。

    ######

    不好意思 ,已经找到什么问题了,是url设置出了点问题

    ###### java.sql.SQLException: No suitable driver######穿个马甲就成你的了。请尊重作者。######请尊重版权######使用 JFinal 的时候不建议改包名和类名,因为 JFinal 还处在高速发展时期,如果每次都改很麻烦,不如直接用。明天发布 JFinal 1.1.5 版本,更快、更轻、更强######

    我建议,如果开源的源码,不能够不能任人学习或者改动的话,那么就不要开源

    ######

    还有,如果不能像ssh一样开源,那么就不要开源,那么就不要让别人去了解你,

    还有,假如我是开公司的话,开源的不能像ssh那样,我哪里知道开源的源码中有没有漏洞

    ######JFinal 采用的是与 SSH 一样的开源协议,为啥你说不象SSH一样开源呢?十分不解?###### @zhufei 请问你使用 struts spring 都是把他们的包名都改掉的吗?
    2020-06-14 13:38:21
    赞同 展开评论 打赏
问答排行榜
最热
最新

相关电子书

更多
低代码开发师(初级)实战教程 立即下载
冬季实战营第三期:MySQL数据库进阶实战 立即下载
阿里巴巴DevOps 最佳实践手册 立即下载