当前位置:懂科普 >

IT科技

> java snapshot

java snapshot

<link rel="stylesheet" href="https://js.how234.com/third-party/SyntaxHighlighter/shCoreDefault.css" type="text/css" /><script type="text/javascript" src="https://js.how234.com/third-party/SyntaxHighlighter/shCore.js"></script><script type="text/javascript"> SyntaxHighlighter.all(); </script>

java snapshot是什么?让我们一起来了解一下吧! 

首先java snapshot是指Java maven程序中的快照。而快照是一个非常特别的版本,设定了某个现在的开发进度的副本。与一般的版本不同,maven开源项目每次会随着代码的更新而发布快照。

java snapshot

SNAPSHOT作用:

1.标识jar是一个不稳定的文件项目,起标识版本的作用。

2.运用SNAPSHOT之后,maven会常常去私服或是中央仓库中拉取最新的这个jar的版本;而没有SNAPSHOT的jar,则会从本地仓库中查找,本地不存在,才去中央仓库中拉取。

3.更新频率:需要在pom.xml文件中进行配置。

java实现网页快照需要的具体代码如下:

       import java.awt.Graphics2D;import java.awt.RenderingHints;import java.awt.geom.AffineTransform;import java.awt.image.BufferedImage;import java.awt.image.ColorModel;import java.awt.image.WritableRaster;import java.io.*;import javax.imageio.*;import javax.swing.*;/** * HTML2JPG,HTML页面转图片的实现方法。 *  * @author 老紫竹(Java世纪网,java2000.net) */public class Test extends JFrame {  public Test(String url, File file) throws Exception {    JEditorPane editorPane = new JEditorPane();    editorPane.setEditable(false);    editorPane.setPage(url);    JScrollPane jsp = new JScrollPane(editorPane);    getContentPane().add(jsp);    this.setLocation(0, 0);    this.setVisible(true); // 如果这里不设置可见,则里面的图片等无法截取        // 如果不延时,则图片等可能没有时间下载显示    // 具体的秒数需要根据网速等调整    Thread.sleep(5 * 1000);    setSize(10000, 10000);    pack();    // BufferedImage image = new BufferedImage(editorPane.getWidth(),    // editorPane.getHeight(), BufferedImage.TYPE_INT_RGB);    BufferedImage image = new BufferedImage(editorPane.getWidth(), editorPane.getHeight(),        BufferedImage.TYPE_INT_RGB);    Graphics2D graphics2D = image.createGraphics();    editorPane.paint(graphics2D);        BufferedImage image1 = resize(image, 600, 400);    ImageIO.write(image1, "jpg", file);    dispose();  }  public static void main(String[] args) throws Exception {    new Test("http://www.google.cn", new File("d:/file.jpg"));  }  public static BufferedImage resize(BufferedImage source, int targetW, int targetH) {    // targetW,targetH分别表示目标长和宽    int type = source.getType();    BufferedImage target = null;    double sx = (double) targetW / source.getWidth();    double sy = (double) targetH / source.getHeight();    // 这里想实现在targetW,targetH范围内实现等比缩放。如果不需要等比缩放    // 则将下面的if else语句注释即可    if (sx > sy) {      sx = sy;      targetW = (int) (sx * source.getWidth());      // } else {      // sy = sx;      // targetH = (int) (sy * source.getHeight());    }    if (type == BufferedImage.TYPE_CUSTOM) { // handmade      ColorModel cm = source.getColorModel();      WritableRaster raster = cm.createCompatibleWritableRaster(targetW, targetH);      boolean alphaPremultiplied = cm.isAlphaPremultiplied();      target = new BufferedImage(cm, raster, alphaPremultiplied, null);    } else      target = new BufferedImage(targetW, targetH, type);    Graphics2D g = target.createGraphics();    // smoother than exlax:    g.setRenderingHint(RenderingHints.KEY_RENDERING, RenderingHints.VALUE_RENDER_QUALITY);    g.drawRenderedImage(source, AffineTransform.getScaleInstance(sx, sy));    g.dispose();    return target;  }}

标签: snapshot java
  • 文章版权属于文章作者所有,转载请注明 https://dongkepu.com/itkeji/jzng9v.html