异常:Failed to load native library 'native-platform.dll' for Windows 10 x86

异常信息

D:\GitHub\spring-framework\spring-core>gradle clean

FAILURE: Build failed with an exception.

* What went wrong:
Failed to load native library 'native-platform.dll' for Windows 10 x86.

* Try:
Run with --stacktrace option to get the stack trace. Run with --info or --debug option to get more log output.


异常现象

之前一直可以用gradle构建项目,今天在构建spring源码时出现如下异常:


按照异常提示输出异常堆栈,没有信息输出:


异常原因

根据错误提示是找不到文件native-platform.dll,查看当前用户目录下的.gradle文件,发现native-platform.dll文件变成了native-platform.dll.lock:



解决办法

1:把native-platform.dll.lock文件改成native-platform.dll即可



2:删除当前用户目录下.gradle文件内所有文件,重新下载最新版本gradle,并配置环境变量。


解决方法二选一。



已标记关键词 清除标记
<div><p>tale 版本: 1.2.11</p> <p>在 docker 里运行时碰到的这个报错</p> <p>下面贴一下完整的输出:</p> <pre><code> pi:~/src/tale/tale$ docker run --rm -p 9009:9000 -v "$PWD":/usr/src/myapp -w /usr/src/myapp openjdk:8-jdk-alpine java -jar tale-1.2.11.jar Unable to find image 'openjdk:8-jdk-alpine' locally 8-jdk-alpine: Pulling from library/openjdk 627beaf3eaaf: Pull complete 1de20f2d8b83: Pull complete 3e00029ebfe3: Pull complete Digest: sha256:ea4d99e7bec5f301c6cb875196261487bc1bbd78f7b1a9d19d6795b512dfe355 Status: Downloaded newer image for openjdk:8-jdk-alpine [tale] 2017-03-22 15:14:05,518 INFO [main] com.blade.embedd.EmbedJettyServer | add classpath: /usr/src/myapp/resources/ [tale] 2017-03-22 15:14:05,558 INFO [main] org.eclipse.jetty.util.log | Logging initialized to org.eclipse.jetty.util.log.Slf4jLog [tale] 2017-03-22 15:14:05,985 INFO [main] com.blade.embedd.EmbedJettyServer | add classpath : /usr/src/myapp/resources/ [tale] 2017-03-22 15:14:06,027 INFO [main] org.eclipse.jetty.server.Server | jetty-9.4.0.v20161208 [tale] 2017-03-22 15:14:06,309 INFO [main] org.eclipse.jetty.webapp.StandardDescriptorProcessor | NO JSP Support for /, did not find org.eclipse.jetty.jsp.JettyJspServlet [tale] 2017-03-22 15:14:06,321 INFO [main] org.eclipse.jetty.server.session | DefaultSessionIdManager workerName=node0 [tale] 2017-03-22 15:14:06,321 INFO [main] org.eclipse.jetty.server.session | No SessionScavenger set, using defaults [tale] 2017-03-22 15:14:06,325 INFO [main] org.eclipse.jetty.server.session | Scavenging every 660000ms [tale] 2017-03-22 15:14:06,347 INFO [main] com.blade.mvc.context.BladeInitListener | jdk.version => 1.8.0_121 [tale] 2017-03-22 15:14:06,348 INFO [main] com.blade.mvc.context.BladeInitListener | user.dir => /usr/src/myapp [tale] 2017-03-22 15:14:06,348 INFO [main] com.blade.mvc.context.BladeInitListener | java.io.tmpdir => /tmp [tale] 2017-03-22 15:14:06,348 INFO [main] com.blade.mvc.context.BladeInitListener | user.timezone => GMT [tale] 2017-03-22 15:14:06,348 INFO [main] com.blade.mvc.context.BladeInitListener | file.encoding => UTF-8 [tale] 2017-03-22 15:14:06,351 INFO [main] com.blade.mvc.context.BladeInitListener | blade.webroot => jar:file:/usr/src/myapp/tale-1.2.11.jar!/ [tale] 2017-03-22 15:14:06,395 INFO [main] com.blade.mvc.route.Routers | Add Route => GET /admin/article/publish [tale] 2017-03-22 15:14:06,397 INFO [main] com.blade.mvc.route.Routers | Add Route => GET /admin/article/:cid [tale] 2017-03-22 15:14:06,404 INFO [main] com.blade.mvc.route.Routers | Add Route => POST /admin/article/publish [tale] 2017-03-22 15:14:06,405 INFO [main] com.blade.mvc.route.Routers | Add Route => POST /admin/article/modify [tale] 2017-03-22 15:14:06,409 INFO [main] com.blade.mvc.route.Routers | Add Route => GET /admin/article [tale] 2017-03-22 15:14:06,409 INFO [main] com.blade.mvc.route.Routers | Add Route => ALL /admin/article/delete [tale] 2017-03-22 15:14:06,410 INFO [main] com.blade.mvc.route.Routers | Add Route => POST /admin/attach/upload [tale] 2017-03-22 15:14:06,411 INFO [main] com.blade.mvc.route.Routers | Add Route => GET /admin/attach [tale] 2017-03-22 15:14:06,411 INFO [main] com.blade.mvc.route.Routers | Add Route => ALL /admin/attach/delete [tale] 2017-03-22 15:14:06,413 INFO [main] com.blade.mvc.route.Routers | Add Route => POST /install [tale] 2017-03-22 15:14:06,414 INFO [main] com.blade.mvc.route.Routers | Add Route => GET /install [tale] 2017-03-22 15:14:06,415 INFO [main] com.blade.mvc.route.Routers | Add Route => GET /admin/reload [tale] 2017-03-22 15:14:06,417 INFO [main] com.blade.mvc.route.Routers | Add Route => POST /admin/backup [tale] 2017-03-22 15:14:06,419 INFO [main] com.blade.mvc.route.Routers | Add Route => GET /admin/setting [tale] 2017-03-22 15:14:06,420 INFO [main] com.blade.mvc.route.Routers | Add Route => POST /admin/password [tale] 2017-03-22 15:14:06,426 INFO [main] com.blade.mvc.route.Routers | Add Route => POST /admin/setting [tale] 2017-03-22 15:14:06,427 INFO [main] com.blade.mvc.route.Routers | Add Route => POST /admin/profile [tale] 2017-03-22 15:14:06,428 INFO [main] com.blade.mvc.route.Routers | Add Route => POST /admin/advanced [tale] 2017-03-22 15:14:06,429 INFO [main] com.blade.mvc.route.Routers | Add Route => GET /admin [tale] 2017-03-22 15:14:06,430 INFO [main] com.blade.mvc.route.Routers | Add Route => GET /admin/index [tale] 2017-03-22 15:14:06,432 INFO [main] com.blade.mvc.route.Routers | Add Route => GET /admin/profile [tale] 2017-03-22 15:14:06,433 INFO [main] com.blade.mvc.route.Routers | Add Route => POST /admin/links/save [tale] 2017-03-22 15:14:06,434 INFO [main] com.blade.mvc.route.Routers | Add Route => GET /admin/links [tale] 2017-03-22 15:14:06,435 INFO [main] com.blade.mvc.route.Routers | Add Route => ALL /admin/links/delete [tale] 2017-03-22 15:14:06,436 INFO [main] com.blade.mvc.route.Routers | Add Route => GET /admin/login [tale] 2017-03-22 15:14:06,437 INFO [main] com.blade.mvc.route.Routers | Add Route => POST /admin/login [tale] 2017-03-22 15:14:06,438 INFO [main] com.blade.mvc.route.Routers | Add Route => POST /admin/category/save [tale] 2017-03-22 15:14:06,439 INFO [main] com.blade.mvc.route.Routers | Add Route => GET /admin/category [tale] 2017-03-22 15:14:06,441 INFO [main] com.blade.mvc.route.Routers | Add Route => ALL /admin/category/delete [tale] 2017-03-22 15:14:06,442 INFO [main] com.blade.mvc.route.Routers | Add Route => GET /tag/:name [tale] 2017-03-22 15:14:06,445 INFO [main] com.blade.mvc.route.Routers | Add Route => GET /tag/:name.html [tale] 2017-03-22 15:14:06,446 INFO [main] com.blade.mvc.route.Routers | Add Route => GET /tag/:name/:page [tale] 2017-03-22 15:14:06,447 INFO [main] com.blade.mvc.route.Routers | Add Route => GET /tag/:name/:page.html [tale] 2017-03-22 15:14:06,448 INFO [main] com.blade.mvc.route.Routers | Add Route => GET /:pagename [tale] 2017-03-22 15:14:06,449 INFO [main] com.blade.mvc.route.Routers | Add Route => GET /:pagename.html [tale] 2017-03-22 15:14:06,450 INFO [main] com.blade.mvc.route.Routers | Add Route => GET /article/:cid [tale] 2017-03-22 15:14:06,450 INFO [main] com.blade.mvc.route.Routers | Add Route => GET /article/:cid.html [tale] 2017-03-22 15:14:06,450 INFO [main] com.blade.mvc.route.Routers | Add Route => ALL /logout [tale] 2017-03-22 15:14:06,451 INFO [main] com.blade.mvc.route.Routers | Add Route => GET /category/:keyword/:page [tale] 2017-03-22 15:14:06,451 INFO [main] com.blade.mvc.route.Routers | Add Route => GET /category/:keyword/:page.html [tale] 2017-03-22 15:14:06,452 INFO [main] com.blade.mvc.route.Routers | Add Route => GET /category/:keyword [tale] 2017-03-22 15:14:06,452 INFO [main] com.blade.mvc.route.Routers | Add Route => GET /category/:keyword.html [tale] 2017-03-22 15:14:06,454 INFO [main] com.blade.mvc.route.Routers | Add Route => GET /links [tale] 2017-03-22 15:14:06,454 INFO [main] com.blade.mvc.route.Routers | Add Route => GET /links.html [tale] 2017-03-22 15:14:06,456 INFO [main] com.blade.mvc.route.Routers | Add Route => GET /archives [tale] 2017-03-22 15:14:06,456 INFO [main] com.blade.mvc.route.Routers | Add Route => GET /archives.html [tale] 2017-03-22 15:14:06,457 INFO [main] com.blade.mvc.route.Routers | Add Route => GET /feed [tale] 2017-03-22 15:14:06,457 INFO [main] com.blade.mvc.route.Routers | Add Route => GET /feed.xml [tale] 2017-03-22 15:14:06,458 INFO [main] com.blade.mvc.route.Routers | Add Route => GET /page/:p [tale] 2017-03-22 15:14:06,459 INFO [main] com.blade.mvc.route.Routers | Add Route => GET /page/:pageIndex.html [tale] 2017-03-22 15:14:06,459 INFO [main] com.blade.mvc.route.Routers | Add Route => GET / [tale] 2017-03-22 15:14:06,460 INFO [main] com.blade.mvc.route.Routers | Add Route => POST /comment [tale] 2017-03-22 15:14:06,460 INFO [main] com.blade.mvc.route.Routers | Add Route => GET /search/:keyword [tale] 2017-03-22 15:14:06,460 INFO [main] com.blade.mvc.route.Routers | Add Route => GET /search/:keyword.html [tale] 2017-03-22 15:14:06,461 INFO [main] com.blade.mvc.route.Routers | Add Route => GET /search/:keyword/:page [tale] 2017-03-22 15:14:06,462 INFO [main] com.blade.mvc.route.Routers | Add Route => GET /search/:keyword/:page.html [tale] 2017-03-22 15:14:06,462 INFO [main] com.blade.mvc.route.Routers | Add Route => POST /admin/comments [tale] 2017-03-22 15:14:06,463 INFO [main] com.blade.mvc.route.Routers | Add Route => GET /admin/comments [tale] 2017-03-22 15:14:06,464 INFO [main] com.blade.mvc.route.Routers | Add Route => POST /admin/comments/delete [tale] 2017-03-22 15:14:06,465 INFO [main] com.blade.mvc.route.Routers | Add Route => POST /admin/comments/status [tale] 2017-03-22 15:14:06,466 INFO [main] com.blade.mvc.route.Routers | Add Route => GET /admin/themes/setting [tale] 2017-03-22 15:14:06,468 INFO [main] com.blade.mvc.route.Routers | Add Route => POST /admin/themes/setting [tale] 2017-03-22 15:14:06,469 INFO [main] com.blade.mvc.route.Routers | Add Route => POST /admin/themes/active [tale] 2017-03-22 15:14:06,469 INFO [main] com.blade.mvc.route.Routers | Add Route => GET /admin/themes [tale] 2017-03-22 15:14:06,471 INFO [main] com.blade.mvc.route.Routers | Add Route => POST /admin/page/modify [tale] 2017-03-22 15:14:06,472 INFO [main] com.blade.mvc.route.Routers | Add Route => GET /admin/page/new [tale] 2017-03-22 15:14:06,473 INFO [main] com.blade.mvc.route.Routers | Add Route => GET /admin/page/:cid [tale] 2017-03-22 15:14:06,473 INFO [main] com.blade.mvc.route.Routers | Add Route => POST /admin/page/publish [tale] 2017-03-22 15:14:06,473 INFO [main] com.blade.mvc.route.Routers | Add Route => GET /admin/page [tale] 2017-03-22 15:14:06,474 INFO [main] com.blade.mvc.route.Routers | Add Route => ALL /admin/page/delete [tale] 2017-03-22 15:14:06,497 INFO [main] com.blade.mvc.route.Routers | Add Interceptor: BEFORE /.* [tale] 2017-03-22 15:14:06,497 INFO [main] com.blade.mvc.route.Routers | Add Interceptor: AFTER /.* [tale] 2017-03-22 15:14:06,523 WARN [main] com.blade.ioc.Ioc | Duplicated Bean: com.tale.init.WebContext Failed to load native library:sqlite-3.15.1-b5aece83-7811-4432-be54-d322b463a038-libsqlitejdbc.so. osinfo: Linux/x86_64 java.lang.UnsatisfiedLinkError: /tmp/sqlite-3.15.1-b5aece83-7811-4432-be54-d322b463a038-libsqlitejdbc.so: Error relocating /tmp/sqlite-3.15.1-b5aece83-7811-4432-be54-d322b463a038-libsqlitejdbc.so: __isnan: symbol not found [tale] 2017-03-22 15:14:06,658 INFO [main] org.eclipse.jetty.server.AbstractConnector | Started ServerConnector{HTTP/1.1,[http/1.1]}{0.0.0.0:9000} Exception in thread "main" java.lang.UnsatisfiedLinkError: org.sqlite.core.NativeDB._open_utf8([BI)V at org.sqlite.core.NativeDB._open_utf8(Native Method) at org.sqlite.core.NativeDB._open(NativeDB.java:71) at org.sqlite.core.DB.open(DB.java:174) at org.sqlite.core.CoreConnection.open(CoreConnection.java:220) at org.sqlite.core.CoreConnection.<init>(CoreConnection.java:76) at org.sqlite.jdbc3.JDBC3Connection.<init>(JDBC3Connection.java:24) at org.sqlite.jdbc4.JDBC4Connection.<init>(JDBC4Connection.java:24) at org.sqlite.SQLiteConnection.<init>(SQLiteConnection.java:45) at org.sqlite.JDBC.createConnection(JDBC.java:114) at org.sqlite.JDBC.connect(JDBC.java:88) at java.sql.DriverManager.getConnection(DriverManager.java:664) at java.sql.DriverManager.getConnection(DriverManager.java:270) at com.tale.init.SqliteJdbc.importSql(SqliteJdbc.java:49) at com.tale.init.WebContext.register(WebContext.java:105) at com.blade.ioc.IocApplication.lambda$initBeans$4(IocApplication.java:125) at java.util.ArrayList.forEach(ArrayList.java:1249) at com.blade.ioc.IocApplication.initBeans(IocApplication.java:125) at com.blade.mvc.context.BladeInitListener.contextInitialized(BladeInitListener.java:79) at org.eclipse.jetty.server.handler.ContextHandler.callContextInitialized(ContextHandler.java:865) at org.eclipse.jetty.servlet.ServletContextHandler.callContextInitialized(ServletContextHandler.java:532) at org.eclipse.jetty.server.handler.ContextHandler.startContext(ContextHandler.java:828) at org.eclipse.jetty.servlet.ServletContextHandler.startContext(ServletContextHandler.java:344) at org.eclipse.jetty.webapp.WebAppContext.startWebapp(WebAppContext.java:1480) at org.eclipse.jetty.webapp.WebAppContext.startContext(WebAppContext.java:1442) at org.eclipse.jetty.server.handler.ContextHandler.doStart(ContextHandler.java:788) at org.eclipse.jetty.servlet.ServletContextHandler.doStart(ServletContextHandler.java:261) at org.eclipse.jetty.webapp.WebAppContext.doStart(WebAppContext.java:540) at org.eclipse.jetty.util.component.AbstractLifeCycle.start(AbstractLifeCycle.java:68) at org.eclipse.jetty.util.component.ContainerLifeCycle.start(ContainerLifeCycle.java:131) at org.eclipse.jetty.util.component.ContainerLifeCycle.doStart(ContainerLifeCycle.java:113) at org.eclipse.jetty.server.handler.AbstractHandler.doStart(AbstractHandler.java:113) at org.eclipse.jetty.util.component.AbstractLifeCycle.start(AbstractLifeCycle.java:68) at org.eclipse.jetty.util.component.ContainerLifeCycle.start(ContainerLifeCycle.java:131) at org.eclipse.jetty.server.Server.start(Server.java:452) at org.eclipse.jetty.util.component.ContainerLifeCycle.doStart(ContainerLifeCycle.java:105) at org.eclipse.jetty.server.handler.AbstractHandler.doStart(AbstractHandler.java:113) at org.eclipse.jetty.server.Server.doStart(Server.java:419) at org.eclipse.jetty.util.component.AbstractLifeCycle.start(AbstractLifeCycle.java:68) at com.blade.embedd.EmbedJettyServer.startup(EmbedJettyServer.java:166) at com.blade.embedd.EmbedJettyServer.startup(EmbedJettyServer.java:74) at com.blade.Blade.startNoJoin(Blade.java:499) at com.blade.Blade.start(Blade.java:472) at com.blade.Blade.start(Blade.java:478) at com.tale.Application.main(Application.java:11) </init></init></init></init></code></pre> <p>在树莓派上运行也是一样的错误,不知道是不是 sqlite 版本的问题</p><p>该提问来源于开源项目:otale/tale</p></div>
<div><p>Hi, I'm currently trying to leverage "boring-ssl-static" instead of JDK's SSL stuff, but the program keeping failing retrieving JNI libs(seems like).</p> <p>I was wondering if there's an wonderful 'combo' for netty and netty-tcnative, because I'v tried three versions netty playing with 4(maybe) different versions tcnative</p> <p>netty-4.0.37 netty-4.0.44 netty-4.0.46</p> <p>tcnative tcnative-boring-ssl</p> <p>The last version, I'v tried is as the description below, that I believe might be a good fit</p> <h2>Details</h2> <h3>Stack Trace</h3> <pre><code>java [ChannelInitializer]Failed to initialize a channel. Closing: [id: 0xc0293b6a] java.lang.UnsatisfiedLinkError: failed to load the required native library at io.netty.handler.ssl.OpenSsl.ensureAvailability(OpenSsl.java:299) ~[netty-all-4.0.46.Final.jar!/:4.0.46.Final] at io.netty.handler.ssl.ReferenceCountedOpenSslContext.<init>(ReferenceCountedOpenSslContext.java:221) ~[netty-all-4.0.46.Final.jar!/:4.0.46.Final] at io.netty.handler.ssl.ReferenceCountedOpenSslContext.<init>(ReferenceCountedOpenSslContext.java:210) ~[netty-all-4.0.46.Final.jar!/:4.0.46.Final] at io.netty.handler.ssl.OpenSslContext.<init>(OpenSslContext.java:34) ~[netty-all-4.0.46.Final.jar!/:4.0.46.Final] at io.netty.handler.ssl.OpenSslClientContext.<init>(OpenSslClientContext.java:188) ~[netty-all-4.0.46.Final.jar!/:4.0.46.Final] at io.netty.handler.ssl.SslContext.newClientContextInternal(SslContext.java:775) ~[netty-all-4.0.46.Final.jar!/:4.0.46.Final] at io.netty.handler.ssl.SslContextBuilder.build(SslContextBuilder.java:446) ~[netty-all-4.0.46.Final.jar!/:4.0.46.Final] ......... </init></init></init></init></code></pre> <h3>Java Version</h3> <p>/usr/java/latest/bin/java -version java version "1.8.0_121" Java(TM) SE Runtime Environment (build 1.8.0_121-b13) Java HotSpot(TM) 64-Bit Server VM (build 25.121-b13, mixed mode)</p> <h3>Netty Version</h3> <pre><code>xml <dependency> <groupid>io.netty</groupid> <artifactid>netty-all</artifactid> <version>4.0.46.Final</version> </dependency> <dependency> <groupid>io.netty</groupid> <artifactid>netty-tcnative-boringssl-static</artifactid> <version>2.0.12.Final</version> </dependency> </code></pre> <h3>OS</h3> <p>uname -a Linux ##### 3.10.0-327.4.5.el7.x86_64 #1 SMP Mon Jan 25 22:07:14 UTC 2016 x86_64 x86_64 x86_64 GNU/Linux</p> <p>cat /etc/os-release</p> <p>NAME="CentOS Linux" VERSION="7 (Core)" ID="centos" ID_LIKE="rhel fedora" VERSION_ID="7" PRETTY_NAME="CentOS Linux 7 (Core)" ANSI_COLOR="0;31" CPE_NAME="cpe:/o:centos:centos:7" HOME_URL="https://www.centos.org/" BUG_REPORT_URL="https://bugs.centos.org/"</p> <p>CENTOS_MANTISBT_PROJECT="CentOS-7" CENTOS_MANTISBT_PROJECT_VERSION="7" REDHAT_SUPPORT_PRODUCT="centos" REDHAT_SUPPORT_PRODUCT_VERSION="7"</p><p>该提问来源于开源项目:netty/netty-tcnative</p></div>
C:\ProgramData\Anaconda3\python.exe C:/Users/Administrator/PycharmProjects/untitled3/pppp.py Traceback (most recent call last): File "C:\ProgramData\Anaconda3\lib\site-packages\tensorflow\python\pywrap_tensorflow.py", line 58, in <module> from tensorflow.python.pywrap_tensorflow_internal import * File "C:\ProgramData\Anaconda3\lib\site-packages\tensorflow\python\pywrap_tensorflow_internal.py", line 28, in <module> _pywrap_tensorflow_internal = swig_import_helper() File "C:\ProgramData\Anaconda3\lib\site-packages\tensorflow\python\pywrap_tensorflow_internal.py", line 24, in swig_import_helper _mod = imp.load_module('_pywrap_tensorflow_internal', fp, pathname, description) File "C:\ProgramData\Anaconda3\lib\imp.py", line 242, in load_module return load_dynamic(name, filename, file) File "C:\ProgramData\Anaconda3\lib\imp.py", line 342, in load_dynamic return _load(spec) ImportError: DLL load failed with error code -1073741795 During handling of the above exception, another exception occurred: Traceback (most recent call last): File "C:/Users/Administrator/PycharmProjects/untitled3/pppp.py", line 1, in <module> import tensorflow as tf File "C:\ProgramData\Anaconda3\lib\site-packages\tensorflow\__init__.py", line 24, in <module> from tensorflow.python import pywrap_tensorflow # pylint: disable=unused-import File "C:\ProgramData\Anaconda3\lib\site-packages\tensorflow\python\__init__.py", line 49, in <module> from tensorflow.python import pywrap_tensorflow File "C:\ProgramData\Anaconda3\lib\site-packages\tensorflow\python\pywrap_tensorflow.py", line 74, in <module> raise ImportError(msg) ImportError: Traceback (most recent call last): File "C:\ProgramData\Anaconda3\lib\site-packages\tensorflow\python\pywrap_tensorflow.py", line 58, in <module> from tensorflow.python.pywrap_tensorflow_internal import * File "C:\ProgramData\Anaconda3\lib\site-packages\tensorflow\python\pywrap_tensorflow_internal.py", line 28, in <module> _pywrap_tensorflow_internal = swig_import_helper() File "C:\ProgramData\Anaconda3\lib\site-packages\tensorflow\python\pywrap_tensorflow_internal.py", line 24, in swig_import_helper _mod = imp.load_module('_pywrap_tensorflow_internal', fp, pathname, description) File "C:\ProgramData\Anaconda3\lib\imp.py", line 242, in load_module return load_dynamic(name, filename, file) File "C:\ProgramData\Anaconda3\lib\imp.py", line 342, in load_dynamic return _load(spec) ImportError: DLL load failed with error code -1073741795 Failed to load the native TensorFlow runtime. See https://www.tensorflow.org/install/errors for some common reasons and solutions. Include the entire stack trace above this error message when asking for help. Process finished with exit code 1
©️2020 CSDN 皮肤主题: 游动-白 设计师:白松林 返回首页