当前位置: 首页 > news >正文

免费微网站系统源码百度关键词搜索排名代发

免费微网站系统源码,百度关键词搜索排名代发,计算机网页制作素材,保定企业网站建站模板搭建开发环境 参考资料 0、基础环境准备0.1、idea0.2、jdk0.3、源码 1、导入工程2、配置启动环境2.1、打开新增配置面板2.2、配置工作目录2.2.1、从常用配置中选择2.2.2、直接粘贴 2.3最终效果 3、调整源码3.1、添加maven引用3.2、注释无效代码3.3、删除测试代码 4、修改运行端…

搭建开发环境

    • 参考资料
  • 0、基础环境准备
    • 0.1、idea
    • 0.2、jdk
    • 0.3、源码
  • 1、导入工程
  • 2、配置启动环境
    • 2.1、打开新增配置面板
    • 2.2、配置工作目录
      • 2.2.1、从常用配置中选择
      • 2.2.2、直接粘贴
    • 2.3最终效果
  • 3、调整源码
    • 3.1、添加maven引用
    • 3.2、注释无效代码
    • 3.3、删除测试代码
  • 4、修改运行端口
    • 4.1、直接修改启动类中的端口设置
    • 4.2、修改jetty配置
  • 5、启动

参考资料

  1. 主要参考了这个系列,因此文档开头特别感谢一下https://blog.csdn.net/xiangshangdemayi/article/details/122441730
  2. 添加依赖的参考文档https://blog.csdn.net/qq_15065903/article/details/128781051
  3. maven仓库https://mvnrepository.com/artifact/javax.xml.soap/javax.xml.soap-api

0、基础环境准备

0.1、idea

我使用的是2023.3.5
在这里插入图片描述

0.2、jdk

部门的工程主要使用的是jdk1.8,geoserver2.24.x源码使用的是jdk11以上。所以需要安装一下jdk11。我使用的是OpenLogic的OpenJDK,以前用Oracle的openjdk还得登录,所以没有用Oracle的。

在这里插入图片描述
ps:
各个openjdk版本资源列表:https://jdk.java.net/archive/
写这篇文档的时候才发现这个网页。囊括了几乎所有维护中的版本。比较友好。提供的文件是编译好的,下载后不用配置,放到固定位置即可(个人推荐c:/java/openjdk11)

0.3、源码

公司当前使用的是geoserver-cloud 2.24.2.因此选用了2.24.x这个分支
在这里插入图片描述

1、导入工程

在这里插入图片描述
代码下载好之后按提示打开工程,然后切换到2.24.x分支
在这里插入图片描述
idea自动检测maven工程。安装提示窗,load即可
在这里插入图片描述
识别完成后,确认每个模块的jdk版本。右键任意一个模块名称,如:src[geoserver] 。选择右键后弹出菜单中的 Open Module Settings。
在这里插入图片描述
确保每个module的jdk都是11以上
在这里插入图片描述

2、配置启动环境

2.1、打开新增配置面板

在这里插入图片描述
添加配置
在这里插入图片描述
在这里插入图片描述

2.2、配置工作目录

2.2.1、从常用配置中选择

在这里插入图片描述

在这里插入图片描述
把默认目录删除,保证working directory框里只有$MODEL_DIR $ 复制的时候记得把第二个$ 符号之前的空格删除(暂时不知道怎么在MarkDown中打出两个$$夹内容)
在这里插入图片描述

2.2.2、直接粘贴

直接向working directory框里输入$MODEL_DIR $
复制的时候记得把第二个$ 符号之前的空格删除(暂时不知道怎么在MarkDown中打出两个$$夹内容)

2.3最终效果

总共需要保证五处都改好了。
在这里插入图片描述
注:
如果Working directory没设置好,可能会报4.4错误
在这里插入图片描述
参考文档中的errorprone问题没有遇到,我直接安装了这个插件。就不补充了

3、调整源码

3.1、添加maven引用

源码中有个类缺少Node引用。编译的时候报错,点击报错的提示,定位到源码文件的工程。在pom.xml中添加maven依赖
在这里插入图片描述

文件目录:src/wcs1_1/pom.xml

<!-- https://mvnrepository.com/artifact/javax.xml.soap/javax.xml.soap-api -->
<dependency><groupId>javax.xml.soap</groupId><artifactId>javax.xml.soap-api</artifactId><version>1.4.0</version>
</dependency>

在这里插入图片描述
代码添加引用
源文件相对目录:src/wcs1_1/src/main/java/org/geoserver/wcs/kvp/rangesubset/AbstractContentNode.java

package org.geoserver.wcs.kvp.rangesubset;
import javax.xml.soap.Node;
public abstract class AbstractContentNode implements Node {protected String content;public String getContent() {return content;}public void setContent(String content) {this.content = content;}
}

3.2、注释无效代码

需要修改的源文件(相对目录)src/wcs1_1/src/main/java/org/geoserver/wcs/kvp/RangeSubsetKvpParser.java
文件注释后的结果

/* (c) 2014 Open Source Geospatial Foundation - all rights reserved* (c) 2001 - 2013 OpenPlans* This code is licensed under the GPL 2.0 license, available at the root* application directory.*/
package org.geoserver.wcs.kvp;import static org.vfny.geoserver.wcs.WcsException.WcsExceptionCode.InvalidParameterValue;import java.io.StringReader;
import net.opengis.ows11.CodeType;
import net.opengis.ows11.Ows11Factory;
import net.opengis.wcs11.AxisSubsetType;
import net.opengis.wcs11.FieldSubsetType;
import net.opengis.wcs11.RangeSubsetType;
import net.opengis.wcs11.Wcs111Factory;
import org.geoserver.ows.KvpParser;
//import org.geoserver.wcs.kvp.rangesubset.ASTAxisId;
//import org.geoserver.wcs.kvp.rangesubset.ASTAxisSubset;
//import org.geoserver.wcs.kvp.rangesubset.ASTFieldId;
//import org.geoserver.wcs.kvp.rangesubset.ASTFieldSubset;
//import org.geoserver.wcs.kvp.rangesubset.ASTInterpolation;
//import org.geoserver.wcs.kvp.rangesubset.ASTKey;
//import org.geoserver.wcs.kvp.rangesubset.ASTRangeSubset;
//import org.geoserver.wcs.kvp.rangesubset.Node;
//import org.geoserver.wcs.kvp.rangesubset.RangeSubsetParser;
//import org.geoserver.wcs.kvp.rangesubset.RangeSubsetParserVisitor;
//import org.geoserver.wcs.kvp.rangesubset.SimpleNode;
import org.vfny.geoserver.wcs.WcsException;/*** Parses the RangeSubset parameter of a GetFeature KVP request** @author Andrea Aime*/
public class RangeSubsetKvpParser extends KvpParser {public RangeSubsetKvpParser() {super("RangeSubset", RangeSubsetType.class);}@Overridepublic Object parse(String value) throws Exception {return null;/*  RangeSubsetParser parser = new RangeSubsetParser(new StringReader(value));SimpleNode root = parser.RangeSubset();RangeSubsetType result =(RangeSubsetType) root.jjtAccept(new RangeSubsetKvpParserVisitor(), null);for (Object o : result.getFieldSubset()) {FieldSubsetType type = (FieldSubsetType) o;String interpolationType = type.getInterpolationType();if (interpolationType != null) {try {InterpolationMethod.valueOf(interpolationType);} catch (IllegalArgumentException e) {throw new WcsException("Unknown interpolation method " + interpolationType,InvalidParameterValue,"RangeSubset");}}}return result;*/}/*    private static class RangeSubsetKvpParserVisitor implements RangeSubsetParserVisitor {Wcs111Factory wcsf = Wcs111Factory.eINSTANCE;Ows11Factory owsf = Ows11Factory.eINSTANCE;@Overridepublic Object visit(SimpleNode node, Object data) {throw new UnsupportedOperationException("This method should never be reached");}@Override@SuppressWarnings("unchecked") // EMF model without genericspublic Object visit(ASTRangeSubset node, Object data) {RangeSubsetType rs = wcsf.createRangeSubsetType();for (int i = 0; i < node.jjtGetNumChildren(); i++) {ASTFieldSubset fs = (ASTFieldSubset) node.jjtGetChild(i);FieldSubsetType fst = (FieldSubsetType) fs.jjtAccept(this, data);rs.getFieldSubset().add(fst);}return rs;}@Override@SuppressWarnings("unchecked") // EMF model without genericspublic Object visit(ASTFieldSubset node, Object data) {FieldSubsetType fs = wcsf.createFieldSubsetType();for (int i = 0; i < node.jjtGetNumChildren(); i++) {Node child = node.jjtGetChild(i);if (child instanceof ASTFieldId) {CodeType id = owsf.createCodeType();id.setValue((String) child.jjtAccept(this, null));fs.setIdentifier(id);} else if (child instanceof ASTInterpolation) {fs.setInterpolationType((String) child.jjtAccept(this, null));} else if (child instanceof ASTAxisSubset) {fs.getAxisSubset().add(child.jjtAccept(this, null));}}return fs;}@Override@SuppressWarnings("unchecked") // EMF model without genericspublic Object visit(ASTAxisSubset node, Object data) {AxisSubsetType as = wcsf.createAxisSubsetType();as.setIdentifier(((SimpleNode) node.jjtGetChild(0)).getContent());for (int i = 1; i < node.jjtGetNumChildren(); i++) {as.getKey().add(node.jjtGetChild(i).jjtAccept(this, null));}return as;}@Overridepublic Object visit(ASTFieldId node, Object data) {return node.getContent();}@Overridepublic Object visit(ASTAxisId node, Object data) {return node.getContent();}@Overridepublic Object visit(ASTInterpolation node, Object data) {return node.getContent();}@Overridepublic Object visit(ASTKey node, Object data) {return node.getContent();}}*/
}

3.3、删除测试代码

做好以上处理后,我启动时测试代码报错,提示找不到文件。为了快速启动,直接把测试代码删掉了。猜测是我没有配置测试环境
在这里插入图片描述

4、修改运行端口

4.1、直接修改启动类中的端口设置

找了半天才找到启动类的位置,是个测试类,相对路径:src/web/app/src/test/java/org/geoserver/web/Start.java
在这里插入图片描述
直接修改启动类的端口就可以了,我改成了8010

在这里插入图片描述
能正常启动
在这里插入图片描述

4.2、修改jetty配置

我下载的这个pom文件里引用jetty组件异常,所以pom里面设置的端口号没起效果。我只用了上边那种方式,直接在启动类修改了端口
在这里插入图片描述
在这里插入图片描述

5、启动

在这里插入图片描述

http://www.yayakq.cn/news/865112/

相关文章:

  • 高州市网站建设海南室内设计公司排名
  • 网站方案原则做淘宝客需要那先网站
  • 网站如何做下一页建筑设计公司起名大全
  • 电商网站变化h5源码
  • 东莞建网站平台如何做淘宝商城网站设计
  • 开网站 主机 服务器做神马网站快速排名软
  • 合肥网站建设晨飞糟糕的网站设计
  • 长沙网站开发流程石家庄专业网站设计电话
  • 怎么建设百度网站wordpress 自动剪裁
  • 网站有备案号网站开发技术现状
  • 网站建设seo 视频建设银行网站多少
  • 唐河网站制作公司安徽谷歌seo
  • 网站静态化对seocrm系统有哪些
  • 网站备案状态查询企业信息型网站有哪些
  • 电子商务网站建设资料前端后端
  • 杭州网站建设代理商交易网站前期建设方案
  • xxx网站建设策划书范文云梦模板网站优缺点
  • 网站建设实训报告模板外贸平台管理制度
  • 饮食类网站网站权限怎么设置
  • 帝国建站系统订做网站和app
  • 免费模板网站下载无锡公司建立网站
  • php 读取网站文件中国建设银行预约网站首页
  • 廊坊高端品牌网站建设c asp做网站
  • 企业网站备案申请动态速写网站
  • 银川网站开发网站运营推广怎做
  • 国外网站推广软件天津业之峰装饰公司怎么样
  • 互联网行业网站模板北京市住房与城乡建设网站
  • winserver2008上用iis发布网站鹤岗建设局网站
  • 网站开发需求分析中性能需求wordpress 启动流程
  • 做不好的网站违法吗创建一个网站网站空间费用