用java做个图片处理网站过程遇到的坑

很久没主动搭过项目了导致遇到的坑,废了我一个周末网站现在还没搭建起来,下面记录下部署过程的坑。

说下我的本地环境:win11、idea、jdk8暂且没用数据库 前端用的layui也没前后端分离,网站搭建好要过几天了因为我要编译依赖要费点时间。

服务器能用linux还是尽量linux吧,苦笑下

坑一:jar包冲突,没指定主函数

之前我本地跑程序的时候缺少servlet-api.jar我就随手引用了,导出执行jar包执行的时候跟内置的tomcat包冲突。

解决办法:打包的时候排除冲突包,添加主函数配置

坑二:resources资源文件或者java目录加载不到

xml 复制代码
<!-- 定义包含这些资源文件,能在jar包中获取这些文件 -->
<resources>
    <resource>
        <directory>src/main/java</directory>
        <includes>
            <include>**/*.*</include>
        </includes>
        <!--是否替换资源中的属性-->
        <filtering>false</filtering>
    </resource>
    <resource>
        <directory>src/main/resources</directory>
        <includes>
            <include>**/*.*</include>
        </includes>
        <!--是否替换资源中的属性-->
        <filtering>false</filtering>
    </resource>
</resources>

坑三:dll依赖的巨坑

因为我主要依赖win下的dll(linux是so)我在win下写的代码想着部署简单点就选了winserver结果坑了我两天时间缺各种依赖。本想着少事情结果费更多的事情,没办法我又搞起了centos。

因为我是要主动加载dll需要找文件拼接路径处理在jar包里面是个巨坑。

scss 复制代码
InitUtil.class.getClassLoader().getResource("").getPath()
InitUtil.class.getClassLoader().getResource("/).getPath() null
InitUtil.class.getClass().getResource("").getPath() null
InitUtil.class.getClass().getResource("/").getPath()
普通的读取文件操作可以用 getResourceAsStream进行操作

dll之前我是在resources目录中,主动加载的话涉及到一个问题jar包读取文件,后面这个问题我这里暂且选择了在跟程序一个目录下加载了(注意linux下需要调整下)。

txt 复制代码
##windows平台:
.dll : 动态链接库,作为共享函数库的可执行文件.
.obj : 目标文件,相当于源代码对应的二进制文件,未经过重定义.
.lib : 可理解为多个 obj 的集合,本质与 .obj 相同.
##linux平台:
.so:(share object)动态链接库,和windows 的 dll 类似.
.o : 目标文件,相当于源代码对应的二进制文件 类似 windows 下 obj.
.a : 与 .o 类似,多个 .o 的集合 类似 windows 下 lib.

功能

等我把环境搭建起来在打算看添加点什么功能

本来是没打算做的因为python不熟又没太多精力,但是深度学习没python又不行又不会c++,没内容识别模块的话感觉少点什么,最近把java加载模型的问题找到了解决办法,但是很多图片处理的东西又不是单靠加载个模型就可以解决的(例如u2net抠图类的),java先入为主熟悉点吧,用python单独写个工具类还行搞个网站有点吃力还费精力,后面看java搞电有趣合适的图片工具再整合进来。

功能点大概都是之前费了很多业余时间如下门,这里算整合了下做个记录。

相关推荐
赫媒派34 分钟前
Gin 12年零破坏API,架构哲学如何练成?
后端·go·gin
fliter1 小时前
Arborium:把 tree-sitter 语法高亮打包成 Rust 文档生态的基础设施
后端
张三丰21 小时前
不会写代码的高管用Claude Code两天上线新程序,工程师接手后发现:一个Bug,让AI一天烧掉一个月服务器费!
后端
Ai拆代码的曹操2 小时前
从一条转账 SQL 到分布式事务:5 种方案的全方位对比与实战
后端
掘金小豆2 小时前
Spring 事务失效的 6 大场景,你踩过几个?
后端·spring·面试
im_lanny2 小时前
Agent = Model + Harness:决定 AI 智能体上限的,往往不是模型而是“装具”
后端
阿文和她的Key2 小时前
AI新词太多?把它们串成一条线就清楚了
后端
笨鸟飞不快2 小时前
当规则比代码跑得快:我对用 LiteFlow 编排信贷业务的一点思考
后端·设计
苏三说技术2 小时前
干掉if...else,这个规则引擎真香!
后端
xiaoshuai10242 小时前
把权限校验从手写里解放出来:RBAC 注解 + 过滤器链的设计
后端