绕过本地存储库的Grails代理设置
在开发 Grails 应用程序时,有时我们需要绕过本地存储库 (例如使用一个远程仓库,如 Amazon S3、Google Cloud Storage 等) 以便轻松管理依赖项。在这种情况下,我们需要设置一个代理服务器。
要绕过本地存储库并使用远程存储库,请遵循以下步骤:
BuildConfig.groovy
文件中,为 plugins
部分添加如下配置:
plugins {
...
id 'org.springframework.boot.env.SpringBootEnvironment'
id 'io.spring.dependency-management' version '1.0.10.RELEASE'
id 'java'
id 'org.grails.plugins.dependency'
}
proxies.groovy
的文件,其中包含以下内容:
import org.springframework.boot.context.embedded.tomcat.TomcatContextCustomizer
import org.springframework.context.annotation.Bean
import org.springframework.context.annotation.Configuration
import org.springframework.web.context.support.AnnotationConfigWebApplicationContext
import org.springframework.web.context.support.WebApplicationContextBuilder
import org.springframework.web.context.WebApplicationContext
annotationConfigContainer = context: annotationConfigApplicationContext()
container.contextClass = 'org.springframework.context.annotation.AnnotationConfigContextLoaderDelegate'
container.contextConfigLocation = ConfigClass: annotationConfigContainer
webEnvironment = Environment.DEFINED_BY_SERVER
grails {
...
proxyTargetClass = true
http.proxyHost = "your_proxy_host"
http.proxyPort = your_proxy_port
https.proxyHost = "your_proxy_host"
https.proxyPort = your_proxy_port
}
proxies.groovy
文件添加到项目的 src/groovy
目录中。在 Config.groovy
文件中,您可以为生产环境和开发环境分别配置代理。例如:
environments {
development {
grails.server.port.http = 8080
grails.server.port.https = 8443
grails.server.host = "localhost"
grails.proxy.host = "your_proxy_host"
grails.proxy.port = your_proxy_port
}
production {
grails.server.port.http = 8080
grails.server.port.https = 8443
grails.server.host = "localhost"
grails.proxy.host = "your_proxy_host"
grails.proxy.port = your_proxy_port
}
}
http://localhost:8080
和 https://localhost:8443
访问应用程序。http://your_server_address:8080
和 https://your_server_address:8443
访问应用程序。请注意,您需要将 your_proxy_host
、your_proxy_port
替换为您的实际代理服务器信息和端口。
领取专属 10元无门槛券
手把手带您无忧上云