首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

绕过本地存储库的Grails代理设置

绕过本地存储库的Grails代理设置

  1. 问题背景

在开发 Grails 应用程序时,有时我们需要绕过本地存储库 (例如使用一个远程仓库,如 Amazon S3、Google Cloud Storage 等) 以便轻松管理依赖项。在这种情况下,我们需要设置一个代理服务器。

  1. 名词解释
  • Grails:Grails 是一个基于 Groovy 编程语言的 Java 框架,用于快速开发 Web 和企业应用程序。
  • 本地存储库:本地存储库是指应用程序在开发过程中使用的实际文件存储库,通常位于用户计算机的本地文件系统上。
  • 代理服务器:代理服务器是一个中间服务器,充当客户端和目标服务器之间的中介。它根据客户端请求接收、处理请求,然后向目标服务器发送请求。
  1. 设置Grails代理

要绕过本地存储库并使用远程存储库,请遵循以下步骤:

  • 在 Grails 项目的 BuildConfig.groovy 文件中,为 plugins 部分添加如下配置:
代码语言:groovy
复制

plugins {

代码语言:txt
复制
   ...
代码语言:txt
复制
   id 'org.springframework.boot.env.SpringBootEnvironment'
代码语言:txt
复制
   id 'io.spring.dependency-management' version '1.0.10.RELEASE'
代码语言:txt
复制
   id 'java'
代码语言:txt
复制
   id 'org.grails.plugins.dependency'

}

代码语言:txt
复制
  • 创建一个名为 proxies.groovy 的文件,其中包含以下内容:
代码语言: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 {

代码语言:txt
复制
   ...
代码语言:txt
复制
   proxyTargetClass = true
代码语言:txt
复制
   http.proxyHost = "your_proxy_host"
代码语言:txt
复制
   http.proxyPort = your_proxy_port
代码语言:txt
复制
   https.proxyHost = "your_proxy_host"
代码语言:txt
复制
   https.proxyPort = your_proxy_port

}

代码语言:txt
复制
  • proxies.groovy 文件添加到项目的 src/groovy 目录中。
  1. 配置代理

Config.groovy 文件中,您可以为生产环境和开发环境分别配置代理。例如:

代码语言: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
    }
}
  1. 测试代理
  • 在开发环境中,使用 http://localhost:8080https://localhost:8443 访问应用程序。
  • 在生产环境中,使用 http://your_server_address:8080https://your_server_address:8443 访问应用程序。

请注意,您需要将 your_proxy_hostyour_proxy_port 替换为您的实际代理服务器信息和端口。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

  • Java近期新闻:Grails 6.0、PrimeFaces 13.0、JUnit 5.10、GraalVM、新的 JEP 草案

    甲骨文(Oracle)的软件架构师 Maurizio Cimadamore 已经提交了 JEP Draft 8310626,外部函数和内存 API。该 JEP 提议在经过两轮孵化和三次预览后最终确定该特性:JEP 412,外部函数和内存 API(孵化阶段),在 JDK 17 中交付;JEP 419,外函数与内存 API(第二轮孵化),在 JDK 18 中交付;JEP 424,外部函数和内存 API(预览版),在 JDK 19 中发布;JEP 434,外部函数和内存 API(第二次预览),在 JDK 20 中发布;以及 JEP 442,外部函数和内存 API(第三次预览),将在即将发布的 JDK 21 中发布。自上一个版本发布以来的改进包括:一个新EnableNativeAccess 清单属性,允许可执行 JAR 中的代码在不使用--enableNativeAccess标志的情况下调用受限方法;允许客户端以编程方式构建 C 函数描述符,避免使用特定于平台的常量;改进了对本地内存中可变长度数组的支持;以及支持本地字符串中的多个字符集。

    03

    Grails——赋能敏捷开发的利器

    几年前,一个开餐厅的亲戚找我做一个网上订餐的网站(当时外卖平台还没有兴起)。一开始我是拒绝的,因为我的本职工作就是做软件开发的,业余时间真没兴趣再做。而且从头开始做一个网页应用,工程浩大,我也没有这个时间。 一个偶然的机会,我接触到了Grails,通过它几个小时就能构建一个专业的涵盖前、后端的Web应用,于是我尝试着开发那个订餐网站,结果,我利用几个周末仅用了半个人/月的功夫就做好了一个能上线接单并具备后台管理(含基本财务)的网站。刷新了我对软件开发的认知,原来开发一个复杂的含前、后端的Web应用也可以如此地快。 Grails是一个基于JVM的全栈快速Web应用开发框架,类似的框架有著名的Rails,但是它需要用Ruby语言,对于广大的Java开发者,要学习一门新语言显然不现实。于是有人基于Groovy做了Grails,可以理解为Grails = Rails on Groovy。Groovy是JVM三大衍生语言之一,相对于Closure和Scala,它可以视为是Java的简化版和脚本化,学习周期最短,上手只消半天,而且相对于有点老气的Java,动态语言Groovy编程要快速和灵活得多。所以Grails可以说是面向Java开发者的快速开发框架。

    05

    反击“猫眼电影”网站的反爬虫策略

    0x01 前言 前两天在百家号上看到一篇名为《反击爬虫,前端工程师的脑洞可以有多大?》的文章,文章从多方面结合实际情况列举了包括猫眼电影、美团、去哪儿等大型电商网站的反爬虫机制。的确,如文章所说,对于一张网页,我们往往希望它是结构良好,内容清晰的,这样搜索引擎才能准确地认知它;而反过来,又有一些情景,我们不希望内容能被轻易获取,比方说电商网站的交易额,高等学校网站的题目等。因为这些内容,往往是一个产品的生命线,必须做到有效地保护。这就是爬虫与反爬虫这一话题的由来。本文就以做的较好的“猫眼电影”网站为例,搞定

    05
    领券